This page is part of a static HTML representation of the TiddlyWiki at https://tiddlywiki.com/

"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld

 4 febrero 2016 a las 22:53

Interesting article giving the perspective of someone who has been away from TiddlyWiki for a few years:

http://www.networkworld.com/article/3028098/open-source-tools/tiddlywiki-a-free-open-source-wiki-revisited.html

Way back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works!

Finding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.

"A Thesis Notebook", de Alberto Molina

 17 abril 2016 a las 10:36

Cuaderno de tesis basado en TiddlyWiki

http://tesis.tiddlyspot.com/

Este es un ejemplo de cuaderno de tesis, construido sobre TiddlyWiki 5.0.8-beta.

TiddlyWiki es un gran programa creado por Jeremy Ruston. Te permite, entre otras cosas, tomar notas, organizar ideaas, guardar información y ver todas tus cosas de la forma que queres. Es una herramiente increíblemente flexible que puedes adaptar para que satisfaga casi todas tus necesidades.

Este TiddlyWiki ha sido adaptado para servir de cuaderno de notas de filosofía, centrado en autores, libros y artículos, conceptos y teorías, además de notas personales. Lo uso junto con Zotero, que es un programa de bibliografía. Ambos son proyectos gratuitos de código abierto. TiddlyWiki se puede descargar de https://tiddlywiki.com

"ATWiki" by Lamusia Project

 6 enero 2021 a las 15:10

A desktop application for TiddlyWiki, running on Windows.

https://lamusia.github.io/#ATWiki

TiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.

"BJTools" by buggyj

 6 enero 2021 a las 15:10

buggyj has created several useful plugins, including a WYSIWYG HTML editor, a configurable calendar and tag lists with draggable ordering.

http://bjtools.tiddlyspot.com

"BrainTest - tools for a digital brain" by Danielo Rodriguez

 6 enero 2021 a las 15:10

A collection of customisations and macros from Danielo Rodriguez.

http://braintest.tiddlyspot.com/

This is my personal tiddlywiki file for testing.

Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the community gave me can came back to the community again.

"Cardo - Task and Project Management Wiki" by David Szego

 6 enero 2021 a las 15:10

Task & Delegation Tracking, Meetings & Agenda Items, Project Roles, Progress & Status Updates, Reference Items, Tickler Calendar, Conversation Logging, Book Notes & Library, and More!

http://cardo.wiki

Cardo is a standalone, browser-based tool that can be used as a simple task manager, or as a complex Project Management system (and indeed, I do use it this way in my daily work) as well as a fully Wiki-ized personal knowledge store. It runs completely independently in the browser, even without an Internet connection, making it possible to carry around on a USB stick, or to use on the morning commute.

"CouchDB Adaptor" by William Shallum

 6 enero 2021 a las 15:10

An adaptor to enable TiddlyWiki to sync changes with a CouchDB database.

https://github.com/wshallum/couchadaptor

CouchDB sync adaptor for TiddlyWiki 5. Requires TiddlyWiki >= 5.1.2.

Works in limited testing. Not sure how well it handles conflicts.

"Creating a baby journal with TiddlyWiki 5" from A Penguin in Redmond

 20 febrero 2014 a las 8:45

A guide to creating a baby journal with TiddlyWiki.

http://a-penguin-in-redmond.blogspot.co.uk/2014/02/creating-baby-journal-with-tiddlywiki-5.html

Keeping a journal about your baby is fun. It allows you to keep track of those events in your baby's life and development that are most important to you, and to tell them in your own words. [...]

There are plenty of online services that can help to keep such a diary, but you need to have an internet connection to access them, and you have to trust them to keep your data safe.

"Dracula - a dark palette for TiddlyWiki" by SlyBouhafs & zenorocha

 1 enero 2021 a las 16:36

A dark palette for TiddlyWiki.

https://draculatheme.com/tiddlywiki

Install manually

Open the Control Panel > Appereance > Palette, scroll down and clone a platte, rename it to Dracula and copy the code from the website.

Activating theme

  • Open the Control Panel > Appereance > Palette
  • Scroll down and select Dracula
  • Boom! It's working

"Drift - Collect, Organise, Grow." by Tony K

 10 enero 2023 a las 22:00

A adaptation of TiddlyWiki perfect for using as a Notebook sysetem.

https://github.com/bmann/drift-tiddlywiki-template/tree/master/drift

Drift is an adaptation of TiddlyWiki with the goal of helping you Collect. Organise. and Grow. your ideas while keeping tab on how they interconnect together and fluidly Drift from one to another.

The 2 main components of Drift are TWCrosslinks and DailyNotes so you never miss an idea

Drift was inspired by TiddlyBlink / Stroll and adapted to fit my needs.

"Dropboard" by Reid Gould

 6 enero 2021 a las 15:10

A TiddlyWiki plugin for kanban-like organisation in the style of Trello™ using boards, lists, and cards.

https://github.com/reidgould/tiddlywiki-dropboard

"Dynamic Tables" by Jed Carty

 13 noviembre 2021 a las 1:06

Dynamic Tables is a set of macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.

http://ooktech.com/jed/ExampleWikis/DynamicTables/

"Encrypt single tiddler plugin" by Danielo Rodriguez

 13 noviembre 2021 a las 1:06

A plugin that allows to encrypt your tiddlers individually Danielo Rodriguez.

http://danielorodriguez.com/TW5-EncryptTiddlerPlugin/

Advantages:

  • You can specify a different password for each tiddler if you want.
  • You don't have to encrypt your whole wiky.
  • If you forget your password, you only lose a tiddler.
  • It's possible to edit the tiddler content , tags and fields except the encrypt field after encryption.
  • [...]

"file-backups" Extension for Firefox by pmario

 6 enero 2021 a las 15:10

An extension for Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 saver, making it almost as easy to use as TiddlyFox. The workflow is intended to work out of the box, without configuration.

https://github.com/pmario/file-backups which contains links to the documentation and introduction video(s).

A chrome version is planned!

"Filter Examples" by Tobias Beer

 6 enero 2021 a las 15:10

This wiki gives examples for various filters and their use in the list widget

http://tobibeer.github.io/tw/filters/#Filter%20Examples

This wiki gives examples for various filters and their use in the list widget. A good starting point to understand what filters yield which results also is test-filters.js.

"Font Awesome 5 Free SVGs for TiddlyWiki" by morosanuae

 6 enero 2021 a las 15:10

The Font Awesome 5 Free SVG images collection converted to tiddlers that you can easily import (drag'n'drop) in your wiki.

http://fa5-free-svg.tiddlyspot.com

"Ghostwriter theme by Rory Gibson" adapted for TW5 by Riz

 6 enero 2021 a las 15:10

An adaption of the "Ghostwriter" theme for TiddlyWiki.

https://ibnishak.github.io/ghostwriter/

Ghostwriter is a popular, minimalist and mobile responsive theme for the blogging platform ghost. This is an adaptation for TiddlyWiki.

"Gospel Bubbles" by Rev. David Gifford

 6 enero 2021 a las 15:10

Creates bubble maps of Biblical texts.

http://giffmex.org/gospels.bubbles.html#Gospels%20Bubbles

This TiddlyWiki, which is still under construction, has several features that together make it lightning fast to find passages, types of passages, themes, people, places and images in the New Testament Gospels. The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:

  1. The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:
    1. See how the different types of passages are distributed throughout each Gospel.
    2. Hover over passages to see the verses and titles.
    3. Click on a passage to open it and see the themes and other data it mentions.
  2. The themes by passage indexes are lists of the passages in each Gospel, followed by the themes and other data found in the passage. Clicking on a theme calls up a list of all the passages that mention that theme.
  3. The indexes of themes contain lists of links to each theme, person, group, place and image. Clicking on a theme calls up a list of all the passages that mention that theme.
  4. There is a search window hidden in the right hand menu. Use the search window to find passages quickly, by typing things like sower or paralytic. Click the arrows in the upper right of the screen to open the menu and search.

"Grok TiddlyWiki" by Soren Bjornstad

 19 mayo 2021 a las 12:02

This new textbook from Soren Bjornstad is highly recommended for learning TiddlyWiki. The presentation and design are also a first class example of using TiddlyWiki.

From the site:

Grok TiddlyWiki is a textbook that helps you build a deep, lasting understanding of and proficiency with TiddlyWiki through a combination of detailed explanations, practical exercises, and spaced-repetition reviews of prompts called takeaways.

https://groktiddlywiki.com/read/

"GSD5" by Roma Hicks

 26 febrero 2022 a las 20:52

An adaptation of the TiddlyWiki powered GTD® system formerly known as MonkeyGTD for TiddlyWiki version 5.

http://gsd5.tiddlyhost.com/

GSD5 is a Getting-Thing-Done tool for TiddlyWiki5 based off the mGSD classic TiddlyWiki.

"Hacks" by Thomas Elmiger

 6 enero 2021 a las 15:10

A collection of helpers by Thomas Elmiger, among them a tweet button macro, a text-stretch solution, a snippet extraction macro and a tiddler that installs a scroll-to-top button via drag-and-drop.

http://tid.li/tw5/hacks.html

Quick Extensions for TiddlyWiki 5 – […] As I take from the community, I am happy if I can give back. You can use my stuff to do whatever you like, but remember to save a back-up first.

Thomas

"Heeg.ru" by sini-Kit

 6 enero 2021 a las 15:10

A guide in Russian to creating an online shop with TiddlyWiki. No serverside code is needed, instead orders are handled by Disqus.

http://heeg.ru/

"In My Socks" by Jed Carty

 6 enero 2021 a las 15:10

An extensive collection of hints and tips from Jed Carty.

http://inmysocks.tiddlyspot.com

I made this so that some of my friends with absolutely no coding experience could use some of the better features of TW5 without having to learn much. I am hopefully going to continue updating it as I learn new things. There isn't really anything here that isn't available in plenty of other places, but I figured that since I spent a while putting it together and people keep saying that TW needs more documentation I would post it here.

"JD Mobile Layout plugin" by JD

 6 enero 2021 a las 15:10

A plugin that improves the usability of TiddlyWiki on smartphones by JD:

http://j.d.simplemobile.tiddlyspot.com

"JD's palettes" by JD

 1 enero 2021 a las 16:45

Some palettes by JD.

http://j.d.palette.tiddlyspot.com/

You can install any or all of these by dragging any of the below links into your Tiddlywiki:

  • Brown One
  • C8 Dark
  • Cool Mint
  • Neonize
  • Spartan Day
  • Spartan Night

"Lucky Sushi" online shop by sini-Kit

 6 enero 2021 a las 15:10

A complete online shop made in TiddlyWiki!

http://luckysushi.ru/habarovsk/heeg.html#index

"Mal's Sandbox" by Mal

 6 enero 2021 a las 15:10

A collection of extensions by @malgam

http://malsandbox.tiddlyspot.com

The "loadnew" plugin provides the JavaScript module $:/plugins/malgam/loadnew/loadnew.js that implements an incremental load command for Tiddlywiki 5.

The javascript code is based on the built-in module $:/core/modules/commands/load.js that loads tiddlers from a Tiddlywiki file into a node.js Tiddlywiki instance. This command loads all non-system tiddlers, irrespective of whether they have been modified since last loaded. As a result, all tiddlers in the node.js tiddlers folder will end up with a new modification date.

In contrast, the loadnew command only loads tiddlers that either don't already exist in the tiddlers folder, or have a newer modified date than the existing tiddler.

With a backup strategy that uses a file system snapshot process to preserve historical versions of tiddlers, the loadnew command minimises the sizes of the resulting snapshots.

"MathCell" by Stephen Kimmel

 6 enero 2021 a las 15:10

Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki.

http://mathcell.tiddlyspot.com/

Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki. Additional abilities allow it work as a general math engine.

"Microblogging con Tiddlywiki" by Juan

 8 octubre 2014 a las 14:43

A Spanish guide to using TiddlyWiki on Android.

http://3palmeras.wordpress.com/2014/11/05/microblogging-con-tiddlywiki/

Tiddlywiki software is prodigious based on javascript which is capable of holding a notepad that can be edited with Internet Explorer or function as a full blog, contained in a single file.

Translation by Google Translate

"Moments: A little color won't hurt" by Riz

 6 enero 2021 a las 15:10

An adaption of the "Moments" theme for TiddlyWiki.

http://tesseractmoments.surge.sh/

Moments is a beautiful free and responsive theme available for wordpress from here: http://www.s5themes.com/theme/moments/. This is an adaptation of the same for TW5 platform. All the design credits goes to the site and the original designer. If TW5 is going to be here for 25 years, might as well suit up.

"Mono theme" by JD

 1 enero 2021 a las 15:46

This theme by JD features a left side bar, advanced functionality from the search bar and plenty of customizability built in.

http://j.d.mono.tiddlyspot.com/

"muritest" by Simon Huber

 13 noviembre 2021 a las 23:06

A terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the muuri plugin by Uwe Stuehler.

http://muritest.tiddlyspot.com

"Notebook theme" by Nicolas Petton

 10 enero 2021 a las 21:09

Notebook is a clean, uncluttered theme for TiddlyWiki.

https://nicolas.petton.fr/tw/notebook.html

Notebook is a clean, uncluttered theme for TiddlyWiki.

  • The theme is responsive and comes with mobile support through the included notebook-mobile plugin.
  • Notebook comes with 3 default colour palettes, a grey, beige and dark one. To switch between colour palettes, click the color palette switch button in the top bar.
  • Notebook uses a custom left sidebar, with another sticky bar at the top of the page (or at the bottom on mobile).

"Noteself" by Danielo Rodríguez

 13 noviembre 2021 a las 1:08

NoteSelf is your personal, private, customisable, Evernote-like experience. You want cloud? Fine! You don't? Fine too! It's all yours, It's your decision! Why not be a bit selfish?

https://noteself.github.io/

NoteSelf is the perfect place to store your ideas, notes, thoughts, tips, tricks, recipes... whatever you want to put into it! NoteSelf will store, index, and make it easily searchable, so you will find it instantly whenever you need it!

You already know and love Evernote, we know it. It is comfortable, it syncs, has search capabilities... Wow, it's almost perfect, but what about:

  • Privacy - Everything is stored on the Evernote's servers!
  • Customisation - If you don't like the interface of Evernote, there's nothing you can do

NoteSelf is built on top of TiddlyWiki, a powerful, free, highly customisable and open-source personal wiki. We took the best of it, it's powerful customisation system, and mixed it with one of the best embedded databases available, PouchDb, for bringing the synchronisation capabilities you need.

"Notizen mit TiddlyWiki systemübergreifend nutzen" by Michael Sonntag

 10 septiembre 2014 a las 11:28

A quick guide to using TiddlyWiki (written in German)

http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen

Those using multiple different computer platforms (if only PC and Android) knows for certain: You would like to sync notes across computers and thereby be independent of any apps or services. I am concerned at any rate so and so I am constantly looking for the perfect solution.

With TiddlyWiki I found it mostly. As the name suggests, it TiddlyWiki is a Wikisystem. In contrast to all other wikis, TiddlyWiki is a single HTML file that runs in the browser and thus can be used on all modern operating systems. And because there is only one file, it can be very easily via the well-known cloud services (Dropbox, Google Drive, ownCloud) or synchronized with FTP or used on a USB stick.

(Translation from German by Google Translate)

"PETTIL - Forth for the Commodore PET" by Charlie Hitselberger

 17 abril 2016 a las 10:43

Intérprete rápido de de Forth para el Commodore PET, escrito en lenguaje ensamblador 6502. El TiddlyWiki que contiene documentación del programa se genera automáticamente de la fuente: ver: https://github.com/chitselb/pettil.

http://chitselb.com/files/tiddlypettil.html

Los objetivos del proyecto son, sin ningún orden en particular:

  • hacer un Forth que funcione en mi Commodore PET 2001
  • divertirme
  • desarrollar mi pericia con el "6502 assembly golf"
  • encontrar otra gente interesada en este proyecto

"Reveal.js" by Devin Weaver

 13 noviembre 2021 a las 23:05

Embed Reveal.js presentations inside your TiddlyWiki.

https://sukima.github.io/tiddlywiki-reveal-js/

reveal.js enables you to create beautiful interactive slide decks using HTML.

With the power of TiddlyWiki and Reveal.js one can…

  • …make an interactive tiddler with fancy animations
  • …Make it go full screen for professional keynote
  • …Distribute the slideshow with examples and additional resources in one HTML file

"savetiddlers" Extension for Chrome and Firefox by buggyj

 6 enero 2021 a las 15:10

An extension for Google Chrome and Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 saver, making it almost as easy to use as TiddlyFox once it is set up correctly.

https://github.com/buggyj/savetiddlers

"Setting Up a Personal TiddlyWiki Server on OS X" by Kris Johnson

 3 abril 2015 a las 11:42

Detailed description of setting up TiddlyWiki on Node.js on OS X.

http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x

For a new job, I decided to set up a personal wiki to keep notes. I wanted to keep it simple, meeting these requirements:

  • All the data is in a Dropbox folder (so it can be automatically synced between machines)
  • It must support Markdown syntax

After looking at the options, I settled on TiddlyWiki. I've used "classic TiddlyWiki" before, and liked its simplicity, but I was always a little annoyed with the weird steps you have to go through to save changes. The new version of TiddlyWiki includes support for running it as a real HTTP server, so you can use it just like an online wiki.

But it took me a couple of hours to figure out how to set that up. The TiddlyWiki documentation is not clear ("not clear" is a euphemistic way of saying "terrible"). So, I've written up these instructions in the hope it will spare somebody else all the frustration I had.

"Shining Ark Using TiddlyWiki" by Helu

 7 septiembre 2013 a las 9:45

A gamers guide to using TiddlyWiki.

http://helugame.wordpress.com/2013/09/07/shining-ark-7-using-tiddlywiki/

I’ve been using TiddlyWiki for this game mainly to record the monsters’ locations and the items that they drop. This is so that when I need a certain item to upgrade/create weapons, I can quickly look it up; which monsters drop it and which quests have those monsters.

As I play the game, as I encounter new information, I just input them into my Shining Ark TiddlyWiki. It’s like I’m building a wiki from scratch. The reason why I don’t just use online wikis is that 1) it’s too easy to get spoiled and 2) sometimes online wikis provide too much information (who cares about the non-gameplay related descriptions that can be found in the game, etc).

"SK Plugins" by Stephen Kimmel

 6 enero 2021 a las 15:10

A collection of plugins by Stephen Kimmel, including a number of additional editor toolbar buttons.

http://skplugins.tiddlyspot.com/

In keeping with the general spirit of the TiddlyWiki community, ie, you develop something useful and/or potentially interesting you share it with others, I'm sharing some of the plugins I've developed to go with the new Editor Toolbar. You'll find them and a more extensive discussion of what each does at http://skplugins.tiddlyspot.com/

"Slides and Stories" by Jan

 6 enero 2021 a las 15:10

Slides and Stories is a repository of the tools to optimise TW for scientific research and for presenting and publishing results.

http://slidesnstories.tiddlyspot.com

SlidesnStories

...is a tool to save and reload sets of Tiddlers. This is already working, The aim is to develop a mechanism to transform these into instant slideshows.

MetaTabs

is a tool which gives you the possibility to attach and show specific information in tabs at the bottom of each Tiddler: ideas, notes, tasks, stories and presentations, comments, annotations and footnotes.
It is inspired by MagicTabs and Tiddlyscholar by Alberto Molina Pérez, which are very elaborated tools that alas do not seem to be in active development any more. I wanted to change the behaviour in some ways. For example I wanted show tabs only if they have content.

...furthermore there is

  • an export-plugin,
  • a footnote-plugin,
  • and a plugin to rearrange Tiddlers in the StoryRiver

"Stroll - a Roam-like experience" by David Gifford

 1 enero 2021 a las 20:14

A adaptation of TiddlyWiki perfect for using as a Notebook sysetem.

https://giffmex.org/stroll/stroll.html

Stroll is a TiddlyWiki adaptation imitating certain features of Roam to help users easily see connections between their notes and navigate between them. Features include:

  • bi-directional links,
  • autocompletion when linking,
  • renaming of links upon changing tiddler titles,
  • side-by-side editing of multiple notes.

"TB5 - a pocket full of tips" by Tobias Beer

 6 enero 2021 a las 15:10

An enormous collection of tips beautifully curated by Tobias Beer. It is actually a collection of sites, with sub-sites dedicated to topics such as filtering (http://tobibeer.github.io/tw/filters/).

http://tobibeer.github.io/tb5/

A collection of references and sandbox for testing concepts around TiddlyWiki 5...

"Tekan: Kanban that stays with you" by Riz

 6 enero 2021 a las 15:10

A Kanban implementation for TiddlyWiki with a familiar look and feel (see the demo).

https://ibnishak.github.io/Tesseract/projects/tekan/Tekan.html

This is Tekan, a TW based kanban. The easiest way to know tekan is to use it. So let us begin, shall we?

"TiddlyServer" by Matt Lauber

 13 noviembre 2021 a las 23:07

Note: This is an older version of TiddlyServer. A modern version can be referenced here.


TiddlyServer is a special purpose Desktop app, designed to facilitate managing multiple instances of TiddlyWiki running as a server. It does not require internet acess to access the wikis.

https://github.com/mklauber/TiddlyServer/releases/

TiddlyServer can import both TiddlyWiki files and TiddlyFolder wikis. For each wiki, you specify a prefix to serve it with and the source to import from. It will copy the wikis to its own internal store and begin serving them up at http://localhost:8080/{prefix}/. The export button for each wiki will convert it to a single file wiki.

"TiddlyStudy" by Kebi

 10 enero 2023 a las 22:04

A adaptation of TiddlyWiki perfect for using as a Notebook sysetem.

https://postkevone.github.io/tiddlystudy/

Tiddly Research is a free and local note-taking environment based on TiddlyWiki

Core Features:

  • Bidirectional note linking on multiple levels
  • Tags
  • Linked references
  • Unlinked references
  • Transclusions
  • Bullet point based hierarchical note taking structure
  • Integration with the spaced repetition flashcards tool Anki
  • TODOs
  • and more

"TiddlyWiki 5 im Betatest" by besim

 5 enero 2014 a las 8:45

Reaction to TiddlyWiki5 from the translator of the German edition of TiddlyWikiClassic.

http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/

There is little software that can still inspire me so even after years, as on the first day. This includes TiddlyWiki, the "pocket-wiki". The latter is because the Wiki completely fits into an HTML file, and this HTML file brings everything - JavaScript program logic, CSS appearance and the entire Wiki content as stored records. So a TiddlyWiki file is then sometimes happy times some megabytes in size, but just has the unbeatable advantage that it works just as fast file created locally in a variety of browsers.

(Translation from German by Google Translate)

"TiddlyWiki for Scholars", por Alberto Molina

 12 abril 2016 a las 18:19

Edición de una versión anterior de TiddlyWiki, adaptada para la toma rigurosa de notas académicas.

http://tw5.scholars.tiddlyspot.com/

TiddlyWiki for Scholars es una customización personal de TiddlyWiki 5.0.13-beta que hice para tomar notas de lectura, pero que puede servir también a otros fines La idea subyacente en esta adaptación es la de poder crear y mostrar información relacionada con el tiddler que se visualiza, sin tener que salir de él para hacerlo.

"TiddlyWiki guide FR" by Sylvain Naudin

 6 enero 2021 a las 15:10

A collection of tips and guides in French, introduced by this blog post:

http://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29

Ce guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain

"TiddlyWiki Knowledge Network" by Dmitry Sokolov

 6 enero 2021 a las 15:10

A Knowledge Network about TiddlyWiki.

http://confocal-manawatu.pbworks.com/w/page/113574373/TiddlyWiki

Interconnected with the visual taxonomy at every node: http://debategraph.org/Stream.aspx?nid=457381&vt=bubble&dc=focus

TWKN will be transferred into TWederation/TiddlyMap format as soon as I am convinced in reliable and secure versioning and multi-user operation in TW format. Your assistance and support would be highly appreciated.

"TiddlyWiki Notes" by James Anderson

 6 enero 2021 a las 15:10

Notes and tips by a developer working on writing TiddlyWiki plugins – including TWExe, a widget for running Windows scripts and executables.

http://welford.github.io

"TiddlyWiki Posts" by Jeffrey Kishner

 5 agosto 2023 a las 15:07

A collection of articles covering integration with Fargo, Font Awesome and Google Calendar, and tips for managing task lists. The original site is missing, but a link to an archive is provided.

https://web.archive.org/web/20221015011644/http://blog.jeffreykishner.com/tiddlywiki/

I have become a regular user of TiddlyWiki and have become so accustomed to using Font Awesome icons in Fargo that I wanted to incorporate the icons into my wikis as well.

"TiddlyWiki Toolmap" by David Gifford

 6 enero 2021 a las 15:10

A topical index of known plugins, tutorials, themes, and other helpful tools for TiddlyWiki.

https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM

Some of the topics indexed so far include:

  • Background images and background colors
  • Breadcrumbs
  • Business - examples
  • CSS / Styles, general
  • Calendars, dates and timelines
  • Checklists
  • Collaboration
  • Color palettes
  • Colors
  • Data visualizations
  • Developer / advanced tools
  • Diplay tiddlers horizontally
  • Dropdowns
  • Educational
  • External files
  • Fields
  • Fonts
  • Fun and games
  • Home and lifestyle
  • IFrames and embedding media
  • Image galleries, modals and lightboxes
  • Images, icons, emojis
  • Importing and exporting between TiddlyWiki files
  • Includes scaffolding within a tiddler, dragging to reorder tiddlers, choosing the number of columns
  • Interfacing with, importing and exporting to and from other formats
  • Knowledge bases, dictionaries and glossaries
  • Layout/UI
  • Lightboxes
  • Links, linking
  • Lists and filters
  • Maps and geography
  • Masonry, scaffolding
  • Math
  • MindMapping
  • Mobile tools
  • Music and sound
  • Navigation
  • node.js
  • Note-taking
  • Open the "filter" tab
  • Partially hidden tiddlers
  • Personal websites (examples)
  • Presentations and slideshows
  • Printing
  • Project management
  • Publishing and hosting TiddlyWikis on the web
  • Searching tools
  • Security and backup tools
  • Social media, sharing, comments
  • Spreadsheets and math
  • Startup
  • Sticky titles
  • Story and screenplay creation
  • Table of contents
  • Tables, charts and graphs (cf data visualizations)
  • Tabs
  • Tags, tagging
  • Task management and productivity - to do lists
  • Themes
  • Understanding TiddlyWiki
  • Writing and editing

"TiddlyWiki 舞" by Bram Chen

 6 enero 2021 a las 15:10

A translation of the tiddlywiki.com documentation from Bram Chen, TiddlyWiki's Chinese translator.

http://tw5-zh.tiddlyspot.com

"TiddlyWiki" by Sander de Boer

 27 noviembre 2014 a las 16:32

Dutch blog post about TiddlyWiki

https://breinbout.wordpress.com/2014/11/26/tiddlywiki/

I'm allergic to websites that are highly dependent on JavaScript. I think that JavaScript has many useful applications to add functionality to a site, but content needs to be visible if JavaScript is switched off. I use the NoScript extension for Firefox and surf with pleasure over the Internet without spontaneous things happen that I do not give permission. I love JavaScript on a short leash. More crazier maybe I'm so excited about TiddlyWiki.

(Translation from Dutch by Google Translate)

"TiddlyWiki5 Bourbon" by mkt_memory

 6 enero 2021 a las 15:10

An extensive collection of tips and resources for users of TiddlyWiki in Japanese.

http://bacchus.ivory.ne.jp/bourbon/

TiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。

TiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。

"TiddlyWiki5 Forum on Reddit" by Riz

 6 enero 2021 a las 15:10

A TiddlyWiki5 forum on Reddit.

https://www.reddit.com/r/TiddlyWiki5/

A TiddlyWiki5 forum on Reddit. As of 2016, it claims to have the most up-to-date list of plugins available for TW5.

"TiddlyWiki5 Playground" by Ton Gerner

 6 enero 2021 a las 15:10

Huge collection of customisations and tweaks from Ton Gerner.

http://tongerner.tiddlyspot.com/

I am a longtime user of TiddlyWiki Classic and still use it daily since you can't do everything in TiddlyWiki 5 (yet) ;)

I started experimenting with TW5 at the end of September 2013 (alpha10). Since I missed a few things in the layout I got used to in TiddlyWiki Classic 1, I started with modifying the layout of TW5. To share my knowledge, I made a few guides about these 'modifications'. The guides started as a non-linear personal web notebook (yeah, the subtitle of TiddlyWiki!). I started experimenting with layout things and used TW5 to document my experiments.

"TiddlyWiki5^2 documenting while learning TiddlyWiki5" by Iannis Zannos

 6 enero 2021 a las 15:10

A wealth of hints, tips and notes about using TiddlyWiki on Node.js:

TiddlyWiki is different from other wikis because of its principle of dynamically customizeable "storyline" based on tiddlers as basic units of information. That is, the user "composes" their own version of the webpage by clicking on tiddler links, which add tiddlers to the page in order to compose a storyline.

The Node.js implementation in TiddlyWiki5 adds all the advantages of flat-file markup language based type of site. This makes TiddlyWiki an excellent alternative to flat-file based CMS/webpage/blog authoring systems for the web.

Also very cool is the treatment of tags as menus everywhere.

http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html

Also available on GitHub (download and save index.html and open it in your browser).

"TW Icons" by morosanuae

 13 noviembre 2021 a las 22:59
A large collection of icons for TiddlyWiki.

https://morosanuae.github.io/tw-icons

"TW5 Magick" by Stephan Hradek

 14 noviembre 2021 a las 20:53

Stephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.

http://tw5magick.tiddlyspot.com/

Some things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the "magic" tricks one can do with TiddlyWiki.

"TW5 Tribal Knowledge" from Scott Kingery

 21 marzo 2014 a las 8:45

Tips and guides for using TiddlyWiki.

http://techlifeweb.com/tw5tribalknowledge.html

I never used Node.js until a couple weeks ago when I wanted to try a TW5 installation on Node and expand my knowledge a bit. I figured someone else may be in the same boat so I wrote it all down

"TW5-TeXZilla" plugin by Joe Renes

 6 enero 2021 a las 15:10

An alternative LaTeX plugin for TiddlyWiki5. It supports a wider set of LaTeX commands than KaTeX, though not as extensive as MathJax

http://tw5-texzilla.tiddlyspot.com

This plugin provides LaTeX support in TiddlyWiki5, using the TeXZilla latex parser to generate MathML.

Only Firefox and Safari support MathML at the moment, so the plugin is only useful if you're using one of these browsers. It might be possible to combine this plugin with MathJax to convert MathML to something that other browsers can understand, e.g. HTML+CSS, but I haven't tried this.

"TWeb.at" by Mario Pietsch

 6 enero 2021 a las 15:10

A collection of TiddlyWiki resources from Mario Pietsch, with a focus on cloud deployments. Mario also maintains the German translation of TiddlyWiki.

https://tweb.at

My name is Mario Pietsch from Austria. I'm living near Salzburg.

This page, will be the portal to my TiddlyWiki, TiddlyWeb related content.

"Un wiki sur votre BiblioBox avec TiddlyWiki" from A Penguin in Redmond

 16 julio 2014 a las 9:45

A guide (in French) to using TiddlyWiki on the BiblioBox, a variation of the PirateBox mobile communication and file sharing system.

http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki

I've known TiddlyWiki since its beginning in 2004. For personal or professional needs, I used it regularly for notepad staff in 2007 and 2012. But I admit I ignored the tool during the past two years. And then I said yesterday: but why not put TiddlyWiki on a BiblioBox? Because it is a single HTML file with javascript. In addition I knew the existence of a server version for saving online amendments.

Hand optimised from a translation by Google Translate

"Whitespace, a negative-spacious, webapp-nostalgic theme" by JD

 1 enero 2021 a las 15:46

A beautiful theme that leverages the white spaces between elements.

http://j.d.whitespace.tiddlyspot.com/

"Wikilabs" by PMario

 6 enero 2021 a las 15:10

A collection of references for testing concepts around TiddlyWiki 5...

https://wikilabs.github.io

This is PMario's playground with ramblings about TiddlyWiki and related stuff.

It basically is a "jump off" page to various TiddlyWiki sites, that show editions, themes and plugins.

"Wills Q&D gTD" by Matabele

 6 enero 2021 a las 15:10

Matabele's stylish and clean system for personal task management.

http://wills.tiddlyspot.com

This is my work in progress version of TW5, incorporating various features and ideas as and when they intrigue me. To grab any feature you may wish to try, drag the listed tiddlers across to the dropzone of an empty TiddlyWiki 5.0.10-beta

"X3DOM for TiddlyWiki 5" by Jamal Wills

 6 enero 2021 a las 15:10

An experiment to embed interactive 3D graphics within TiddlyWiki by Jamal Wills. It is based X3DOM, an open source JavaScript library.

http://x3dom.tiddlyspot.com/

"デザイン刷新。次の25年を目指すTiddlyWiki" by Moongift

 11 noviembre 2013 a las 8:45

Amable introducción a TiddlyWiki

 16 abril 2016 a las 6:44

TiddlyWiki es una herramienta increíblemente flexible y versátil, concebida y construida de forma muy distinta a la mayoría de software. Esto puede hacerla difícil de comprender hasta ese momento en que algo hace clic y se convierte en una extensión natural de tu cerebro.

Para empezar por lo básico, TiddlyWiki es una aplicación web para la toma de notas que puedes descargar libre y gratuitamente, que puedes guardar donde quieras y adaptar del modo que desees. Úsala para escribir, organizar y compartir notas de un modo que los procesadores de texto y otras herramientas para tomar notas no pueden.

TiddlyWiki está diseñada para estructurar contenidos de modo no lineal valiéndose de StoryLists, etiquetas, enlaces y otras características. Puedes organizar y recuperar tus notas de la manera que mejor se adapte a tu forma de pensar, en lugar de sentirte encadenado a una estructura predeterminada de organización.

TiddlyWiki is designed to be non-linear, structuring content with stories, tags, hyperlinks, and other features. You can organise and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one preset organisational structure.

Puedes usar TiddlyWiki tanto online como sin conexión de red. Como archivo único que consultas y editas con cualquier navegador web, o puedes utilizarlo como una poderosa aplicación de Node.js, que guarda por separado cada una de tus notas.

¿Cómo hacer que TiddlyWiki trabaje para ti? Te recomendamos empezar consultando la documentación introductoria que se muestra más abajo y echar un vistazo al índice que tienes a tu disposición en la barra lateral.

También puedes seguir estas sencillas instrucciones e ir descubriendo por ti mismo a partir de ahí.

También hay tutoriales en video (en inglés)

Acerca de TiddlyWiki

 11 mayo 2016 a las 16:19

abs Operator

 11 junio 2019 a las 18:42
purposecalculate the absolute value of a list of numbers
inputa selection of titles
outputthe absolute value of the input numbers

Learn more about how to use Filters

abs Operator (Examples)

 11 junio 2019 a las 18:42

[[-2000]abs[]]

=-1 =-2 =3 =4 =5 +[abs[]]

Ace Editor Plugin by Joerg Plewe

 6 enero 2021 a las 15:10

A plugin to integrate the Ace editor into TiddlyWiki.

http://innoq.tiddlyspot.com

Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).

Agradecimientos

 11 mayo 2016 a las 16:26

TiddlyWiki no sería posible sin el constante apoyo de la comunidad de TiddlyWiki. Su atención y feedback constante han hecho posible tener una idea precisa de qué se espera de este producto y su pasión nos ha enseñado que la inversión en ella merece la pena.

TiddlyWiki incorpora código de los siguientes proyectos OpenSource:

...y materiales de estos otros proyectos:

acos Operator

 21 octubre 2021 a las 23:28
purposecalculate the arccosine value (in radians) of a list of numbers
inputa selection of titles
outputthe arccosine (in radians) of the input numbers

Learn more about how to use Filters

New in: 5.1.21 See Mathematics Operators for an overview.

This is the inverse operation of cos: cos calculate the cosine of an angle (in radian), but acos calculate the angle (in radian) of a cosine.

Examples

acos Operator (Examples)

 20 octubre 2021 a las 15:27

[[2]acos[]]

=1 =2 =3 =4 +[acos[]]

ActionConfirmWidget

 15 noviembre 2020 a las 16:03

Introduction

New in: 5.1.23The action-confirm widget is an action widget that prompts the user for confirmation and invokes other action widgets contained within it only if the user confirms. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-confirm widget is invisible. Any content within it is only processed if the user confirms the action, or the confirmation has been disabled by the $prompt attribute.

AttributeDescription
$messageOptional message displayed to the user when asking for confirmation.
$promptOptional flag, set to "no" to disable the prompt for confirmation. Defaults to "yes"

Examples

Here is an example of a button that asks the user for confirmation, before deleting the caption and tags fields of the current tiddler:

<$button>
<$action-confirm $message="Do you wish to delete the caption and tags?">
<$action-deletefield caption tags/>
Delete "caption" and "tags"
</$action-confirm>
</$button>

Este es su aspecto:

Here is an example of a button that uses the optional $prompt attribute to control whether to prompt the user before deleting the text field of the tiddler HelloThere:

<$button>
<$action-confirm $message="Do you wish to delete the text field?" $prompt={{$:/state/promptUser}}>
<$action-deletefield $tiddler="HelloThere" $field="text"/>
</$action-confirm>
Delete text from ~HelloThere
</$button>

Este es su aspecto:

ActionCreateTiddlerWidget

 15 enero 2023 a las 8:47

Introduction

The $action-createtiddler widget is an action widget that creates new tiddlers. Action widgets are used within triggering widgets such as the ButtonWidget.

There are several differences from the tm-new-tiddler message:

  • The new tiddler is not automatically displayed in the story river
  • The title of the new tiddler is made available for subsequent operations

Content and Attributes

The action-createtiddler widget is invisible.

AttributeDescription
$basetitleThe initial title that will be attempted. If a tiddler with that title already exists, then a numerical counter is added to the title and incremented until it is unique
$savetitle Deprecated since: 5.1.20 (see ActionCreateTiddlerWidget Example 5) A text reference identifying a field or index into which the title of the newly created tiddler will be stored after it is created
$savedrafttitle Deprecated since: 5.1.20 (see ActionCreateTiddlerWidget Example 5) A text reference identifying a field or index into which the draft title associated with the newly created tiddler will be stored after it is created. This is useful when using a sequence of action widgets to create a new tiddler, put it into edit mode, and position it within the list of its parent tag
$timestampSpecifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no"
$template New in: 5.1.22 The title of a template tiddler, that will be used to create a new tiddler
$overwrite New in: 5.1.22 If set to "yes", it will overwrite existing tiddlers. Be careful!
{any attributes not starting with $}Each attribute name specifies a field to be created in the new tiddler

Variables

New in: 5.2.0 The content of the $action-createtiddler widget is executed after the new tiddler has been created. The title of the newly created tiddler is stored in the variable createTiddler-title.

VariablesDescription
createTiddler-titleThe tittle of the tiddler that has been created. See ActionCreateTiddlerWidget Example 5
createTiddler-draftTitleThis variable only exists to have feature parity with the deprecated parameters. It contains the title of a "draft tiddler"

Examples

Caption for new button: <$edit-text tiddler="$:/state/new-button-caption" tag="input" default=""/>

<$button>
<$action-createtiddler $basetitle="Homemade Button" tags="$:/tags/PageControls" text={{$:/state/new-button-caption}}>
<$action-navigate $to=<<createTiddler-title>>/>
</$action-createtiddler>
Create a new non-functional page control button and open the tiddler
</$button>

Este es su aspecto:

Caption for new button:


This example will create "New Tiddler", "New Tiddler 1", " New Tiddler 2" and so on

\define testCreate()
<$action-createtiddler />
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab


This example will use the base title defined in $:/language/DefaultNewTiddlerTitle.

It will overwrite the tiddler, if the button is clicked several times.

\define testCreate()
<$action-createtiddler $basetitle={{$:/language/DefaultNewTiddlerTitle}} $overwrite="yes"/>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab


This example will uses a base-title and a template: ActionCreateTiddlerWidget Template

It will create: "base", "base 1", "base 2" and so on

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template"/>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button will also open the Right sidebar: Recent tab


This example uses a base-title "base" and a template: ActionCreateTiddlerWidget Template.

There will be new fields "aa" and "bb" which are added to the new tiddlers.

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template" aa="new field aa" bb="new field bb" />
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button will also open the Right sidebar: Recent tab


This example will use the base title defined in ActionCreateTiddlerWidget Template.

It will create: "base", "base 1", "base 2" and so on, and navigate to this tiddler in draft mode.

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template">
	<$action-sendmessage $message="tm-edit-tiddler" $param=<<createTiddler-title>>/>
</$action-createtiddler>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Example

 13 noviembre 2021 a las 1:10

Caption for new button:

ActionCreateTiddlerWidget Example 1

 13 noviembre 2021 a las 23:04

This example will create "New Tiddler", "New Tiddler 1", " New Tiddler 2" and so on

\define testCreate()
<$action-createtiddler />
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Example 2

 13 noviembre 2021 a las 1:10

This example will use the base title defined in $:/language/DefaultNewTiddlerTitle.

It will overwrite the tiddler, if the button is clicked several times.

\define testCreate()
<$action-createtiddler $basetitle={{$:/language/DefaultNewTiddlerTitle}} $overwrite="yes"/>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Example 3

 13 noviembre 2021 a las 1:11

This example will uses a base-title and a template: ActionCreateTiddlerWidget Template

It will create: "base", "base 1", "base 2" and so on

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template"/>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Example 4

 13 noviembre 2021 a las 1:11

This example uses a base-title "base" and a template: ActionCreateTiddlerWidget Template.

There will be new fields "aa" and "bb" which are added to the new tiddlers.

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template" aa="new field aa" bb="new field bb" />
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Example 5

 11 enero 2023 a las 22:09

This example will use the base title defined in ActionCreateTiddlerWidget Template.

It will create: "base", "base 1", "base 2" and so on, and navigate to this tiddler in draft mode.

\define testCreate()
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template">
	<$action-sendmessage $message="tm-edit-tiddler" $param=<<createTiddler-title>>/>
</$action-createtiddler>
\end

<$button actions=<<testCreate>> >
Create Tiddler
</$button>

- Clicking this button, will also open the Right sidebar: Recent tab

ActionCreateTiddlerWidget Template

 16 noviembre 2021 a las 19:25

This is a tiddler used as a template in: ActionCreateTiddlerWidget Example 3

ActionDeleteFieldWidget

 20 febrero 2015 a las 16:20

Introduction

The action-deletefield widget is an action widget that deletes specified fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-deletefield widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler)
$fieldOptional name of a field to delete
{any attributes not starting with $}Each attribute name specifies a field to be deleted. The attribute value is ignored and need not be specified

Examples

Here is an example of a button that deletes the caption and tags fields of the current tiddler:

<$button>
<$action-deletefield caption tags/>
Delete "caption" and "tags"
</$button>

Este es su aspecto:

Here is an example of a button that deletes the modified date and tags fields of the tiddler HelloThere:

<$button>
<$action-deletefield $tiddler="HelloThere" modified tags/>
Delete "modified" and "tags" from ~HelloThere
</$button>

Este es su aspecto:

Here is an example of a button that uses the optional $field attribute to delete the text field of the tiddler HelloThere:

<$button>
<$action-deletefield $tiddler="HelloThere" $field="text"/>
Delete text from ~HelloThere
</$button>

Este es su aspecto:

ActionDeleteTiddlerWidget

 6 noviembre 2014 a las 17:34

Introduction

The action-deletetiddler widget is an action widget that deletes tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.

There are several differences compared to the WidgetMessage: tm-delete-tiddler:

  • The user is not prompted to confirm the deletion
  • No automatic updating of the story list
  • No special handling of draft tiddlers

Content and Attributes

The action-deletetiddler widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerOptional title of the tiddler to be deleted
$filterOptional filter identifying tiddlers to be deleted

Examples

Here is an example of a button that deletes the tiddler HelloThere:

<$button>
<$action-deletetiddler $tiddler="HelloThere"/>
Delete "~HelloThere"
</$button>

Este es su aspecto:

Here is an example of a button that deletes all tiddlers tagged TableOfContents:

<$button>
<$action-deletetiddler $filter="[tag[TableOfContents]]"/>
Delete tiddlers tagged "~TableOfContents"
</$button>

Este es su aspecto:

ActionListopsWidget

 5 agosto 2023 a las 11:35

Introduction

The action-listops widget is an action widget that manipulates user lists in any field or data index. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-listops widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose lists are to be modified (if not provided defaults to the current tiddler)
$fieldThe name of a field to be manipulated as a list (defaults to 'list')
$indexOptional index of a property in a data tiddler index to be manipulated as a list
$filterAn optional filter expression, the output of which will be saved to the field/index being manipulated
$subfilterAn optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated
$tagsAn optional subfilter expression, which takes the tags field of the target tiddler as input, and saves the modified list of tags back to the tags field

Note on subfilter expressions

If the manipulation depends on the current contents of the list, e.g. when using the toggle operator to toggle the presence of an element, the Filter Run would be prefixed with the + / :and filter run prefix so that it properly receives the list as input.

<$action-listops $subfilter="+[toggle[List Item]]"/>

The above widget will toggle the presence of the element List Item in the field list of the current tiddler, removing or adding the element as necessary.

Similarly, if an element is to always be removed when it is present, the - / :except filter run prefix can be used. Both of the following yield the same result:

<$action-listops $subfilter="-[[List Item]]"/>
<$action-listops $subfilter="+[remove[List Item]]"/>

Without any prefixes, the filter run output is simply dominantly appended to the list.

See also the Examples.

Using $filter or $subfilter

Standalone use of the $subfilter attribute can be replaced by using a (more complicated) $filter attribute value.

For example, the items "abc" and "123" can be appended to the field myfield using the $subfilter attribute:

<$action-listops $field="myfield" $subfilter="abc 123"/>

The same can be achieved using the $filter attribute and prepending the Filter Run [enlist{!!myfield}] to the Filter Expression:

<$action-listops $field="myfield" $filter="[enlist{!!myfield}] abc 123"/>

The short form is more convenient, but the long form is useful for live-debugging complicated $subfilter values using the filter tab of $:/AdvancedSearch. By using $:/AdvancedSearch, the Filter Expression can be tested before using action-listops to modify actual tiddler fields. For this use case, the all[current] portion of the expression needs to be changed to select the proper test tiddler.

Using $tags or $subfilter

Tagging is implemented using a tiddler's 'tags' field, so appending the tags "abc" and "123" using the $tags attribute like this:

<$action-listops $tags="abc 123"/>

is mostly equivalent to using $subfilter along with "tags" for the value of $field:

<$action-listops $field="tags" $subfilter="abc 123"/>

Comparison to ActionSetFieldWidget

In general, ActionSetFieldWidget is better for setting multiple fields at once and for replacing the value of a field, which can also be a list. The ActionListopsWidget is better for modifying a list field based on the existing list and for using a Filter Expression to derive the value of the field.

The ActionSetFieldWidget sets the value of a field using $field and $value attribute pairs or attributes that do not start with a $. A single ActionSetFieldWidget can be used to set any number of fields of a single tiddler.

The ActionListopsWidget replaces or modifies a single field's value using filter expressions.

The following widgets are functionally equivalent:

<$action-setfield $field="myfield" $value="abc 123"/>
<$action-setfield myfield="abc 123"/>
<$action-listops $field="myfield" $filter="abc 123"/>

Note that abc 123 in the first two cases is a literal string that is assigned to the field myfield, but in the third case a filter expression which evaluates to the same string.

Extended Filter Operators

A number of Extended Listops Filters are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list.

Notes on de-duplication

In some cases, there may occur unexpected de-duplication of lists.

Assignments to the list field

When assigning filter results to the list field (default), the generated list is automatically de-duplicated, so

<$action-listops $filter="[[1]] :and[[1]]"/>

will result in the list field of the current tiddler containing the string 1, but not 1 1.

Input to the subfilter expression

The input to the subfilter expression in the $subfilter attribute is also de-duplicated. If you rely on lists containing duplicates, consider using this alternative using the $filter attribute:

<$button>
<$action-listops $field="myfield" $filter="[enlist:raw{!!myfield}] :all[[abc]]" />
Add 'abc' to 'myfield'
</$button>

<$list filter="[enlist:raw{!!myfield}]" template="$:/core/ui/ListItemTemplate" />

Este es su aspecto:

The enlist Operator with raw suffix will enlist the list saved in myfield of the current tiddler without de-duplication, while e.g. the list Operator will always de-duplicate. The widget then adds the item abc – whether or not it is already included in the list – and replaces the original list in myfield.

Examples

ActionListopsWidget (Examples)

 5 agosto 2023 a las 11:36

In this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default).

<$button>
<$action-listops $field="myfield" $filter="efg hlm pqr"/>
Populate 'myfield'
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="abc xyz"/>
Append More Items
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-abc -hlm"/>
Remove Items
</$button>
<$button>
<$action-listops $field="myfield" $filter="[[]]"/>
Clear 'myfield'
</$button>

<$list filter="[list[!!myfield]]">

</$list>

Este es su aspecto:


In this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order.

<$button>
<$action-listops $field="myfield" $subfilter="-efg ijk xyz [[this is a title]] +[sort[]]"/>
Mangle List
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-xyz -[[this is a title]] +[!sort[]]"/>
Unmangle List
</$button>

<$list filter="[list[!!myfield]]">

</$list>

Este es su aspecto:


The following example toggles the tag Examples for the current tiddler.

<$button>
<$action-listops $tags="+[toggle[Examples]]"/>
Toggle 'Examples' tag
</$button>

Este es su aspecto:


In this example we shall append a few tags to the 'tags' field of this tiddler (the default). We shall then remove some of the appended tags.

<$button>
<$action-listops $tags="+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3"/>
Populate 'tags'
</$button>
<$button>
<$action-listops $tags="+[!remove:2{!!tags}]"/>
Remove Last Two Tags
</$button>
<$button>
<$action-listops $tags="+[!prefix[$:/]]"/>
Remove System Tags
</$button>
<$button>
<$action-listops $tags="-Mon -Tue"/>
Remove Mon and Tue
</$button>
<$button>
<$action-listops $tags="+[prefix[$:/]] ActionWidgets Widgets"/>
Remove User Tags
</$button>
<$button>
<$action-listops $tags="+[[]] ActionWidgets Widgets"/>
Clear Tags
</$button>

<$list filter="[list[!!tags]]">

</$list>

Este es su aspecto:

ActionListopsWidget

ActionLogWidget

 20 noviembre 2020 a las 15:52

Introduction

New in: 5.1.23 The action-log widget is an action widget that can be used to output debugging information to the JavaScript console supported by most browsers. This can be useful because otherwise it is difficult to observe what is going on within a sequence of actions.

ActionWidgets are used within triggering widgets such as the ButtonWidget.

For debugging outside of actions see LogWidget

Content and Attributes

The action-log widget is invisible. Any content within it is ignored.

When the actions are invoked, the names and values of all attributes are logged to the JavaScript console. In addition there are optional attributes that can be used:

Optional AttributeDescription
$$filterAll variables matching this filter will also be logged.
$$messageA message to display as the title of the information logged. Useful when several action-log widgets are used in sequence.
$$allSet to "yes" to log all variables in a collapsed table. Note that if there is nothing specified to log, all variables are always logged instead.

A handy tip if an action widget is not behaving as expected is to temporarily change it to an <$action-log> widget so that the attributes can be observed.

Example

Here is an example of logging two variables:

<$action-log myVar=<<myVar>> otherVar=<<otherVar>>/>

To log all variables:

<$action-log />

To log two variables as well as all core variables (which start with tv-):

<$action-log myVar=<<myVar>> other={{!!status}} $$filter="[prefix[tv-]]"/>

ActionNavigateWidget

 20 febrero 2015 a las 16:20

Introduction

The action-navigate widget is an action widget that sends a tm-navigate message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-navigate widget is invisible. Any content within it is ignored.

AttributeDescription
$toThe title of the target tiddler for the navigation (if not provided defaults to the current tiddler
$scrollOptional parameter determining whether the navigation will also cause a scroll to the target tiddler (see below)

Scroll handling

The optional $scroll attribute can be set to "yes" to force scrolling to occur to bring the target tiddler into view. If set to "no" then scrolling does not occur. If the $scroll attribute is omitted then scrolling occurs unless either:

  • the control key is pressed
  • the action was initiated with the middle mouse button (if available)

Note that if navigating to multiple tiddlers at once you should use the same $scroll setting for all of them.

Examples

Here is an example of button that navigates to two different tiddlers at once:

<$button>
<$action-navigate $to="ButtonWidget"/>
<$action-navigate $to="ActionWidgets"/>
Click me!
</$button>

Este es su aspecto:

ActionPopupWidget

 31 julio 2023 a las 20:30

Introduction

The action-popup widget is an action widget that triggers the display of a popup defined via a state tiddler, or clears all displayed popups. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-popup widget is invisible. Any content within it is ignored.

AttributeDescription
$stateThe title of the state tiddler for the popup
$coordsOptional coordinates for the handle to which popup is positioned (see Coordinate Systems for the supported formats)
$floating New in: 5.2.0 Optional. Defaults to no. Set to yes to create a popup that must be closed explicitly.

New in: 5.1.23 If the $coords attribute is missing or empty then all popups are cancelled.
New in: 5.2.4 The $coords attribute supports absolute and relative coordinates. See Coordinate Systems for more information.

Delete the state tiddler for a floating popup to close it.

Examples

Here is an example of button that triggers the "more" button in the sidebar "Tools" tab. You may need to scroll to see the popup

<$button>
<$action-setfield $tiddler="$:/state/tab/sidebar--595412856" $value="$:/core/ui/SideBar/Tools"/>
<$action-popup $state="$:/state/popup/more--810643385" $coords="(0,20,0,0)"/>
Click me!
</$button>

Este es su aspecto:

ActionSendMessageWidget

 23 octubre 2021 a las 17:01

Introduction

The action-sendmessage widget is an action widget that sends a message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-sendmessage widget is invisible. Any content within it is ignored.

AttributeDescription
$messageThe message to send (eg, WidgetMessage: tm-new-tiddler)
$paramOptional parameter string whose meaning is dependent on the message being sent
$nameOptional name of additional parameter
$valueValue for optional parameter whose name is specified in $name
$names New in: 5.2.1 Optional filter evaluating to a list of additional parameter names
$values New in: 5.2.1 Optional filter evaluating to a list of parameter values corresponding to the parameters names specified in $names
{any attributes not starting with $}Multiple additional, optional named parameters that are attached to the message

Examples

Here is an example of button that displays both a notification and a wizard, and creates a new tiddler with tags and text:

<$button>
<$action-sendmessage $message="tm-modal" $param="SampleWizard"/>
<$action-sendmessage $message="tm-notify" $param="SampleNotification"/>
<$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/>
Click me!
</$button>

Este es su aspecto:

ActionSetFieldWidget

 6 agosto 2015 a las 18:14

Introduction

The action-setfield widget is an action widget that assigns values to the fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-setfield widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerThe title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler)
$fieldOptional name of a field to be assigned the $value attribute
$indexOptional index of a property in a data tiddler to be assigned the $value attribute
$valueThe value to be assigned to the field or index identified by the $field or $index attribute. If neither is specified then the value is assigned to the text field. If no value is specified, $field or $index will be deleted.
$timestampSpecifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no"
{any attributes not starting with $}Each attribute name specifies a field to be modified with the attribute value providing the value to assign to the field

Examples

Here is an example of a pair of buttons that open the control panel directly to specified tabs. They work by using action-setfield to set the state tiddler for the control panel tabs.

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Settings"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Settings" tab
</$button>

Este es su aspecto:

Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then navigates to it and opens the tiddler info panel on the "Fields" tab:

<$button>
<$action-setfield $tiddler="HelloThere" tags="NewTag [[Another New Tag]]" color="red"/>
<$action-setfield $tiddler="$:/state/popup/tiddler-info--1779055697" text="(568,1443,33,39)"/>
<$action-setfield $tiddler="$:/state/tab--1890574033" text="$:/core/ui/TiddlerInfo/Fields"/>
<$action-navigate $to="HelloThere"/>
Modify ~HelloThere
</$button>

Este es su aspecto:

Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then initiates editing it:

<$button>
<$action-setfield $tiddler="HelloThere" tags="MoreTag [[Further More Tags]]" color="green"/>
<$action-sendmessage $message="tm-edit-tiddler" $param="HelloThere"/>
Edit ~HelloThere
</$button>

Este es su aspecto:

Here is an example of a button that opens the control panel directly to the "Appearance" tabs:

<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" $field="text" $value="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>

Este es su aspecto:

ActionSetMultipleFieldsWidget

 23 octubre 2021 a las 17:01

Introduction

The action-setmultiplefields widget is an action widget that assigns multiple fields to a tiddler where the names and values of the fields are specified as separate filters. ActionWidgets are used within triggering widgets such as the ButtonWidget.

Content and Attributes

The action-setmultiplefields widget is invisible. Any content within it is ignored.

AttributeDescription
$tiddlerOptional title of the tiddler to modify (defaults to the current tiddler)
$fieldsOptional filter evaluating to the names of a list of fields to assign. Either $fields or $indexes must be specified
$indexesOptional filter evaluating to the names of a list of indexes to assign. Either $fields or $indexes must be specified
$valuesFilter evaluating to the values to be assigned to the fields or indexes
$timestampSpecifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no"

Examples

Here is an example of button that uses the data in Days of the Week to assign fields day-Monday, day-Tuesday etc. to the tiddler "HelloThere":

<$button>
<$action-setmultiplefields $tiddler="HelloThere" $fields="[list[Days of the Week]addprefix[day-]]" $values="[list[Days of the Week]]"/>
Click me!
</$button>

Este es su aspecto:

actionTiddler Variable

 18 enero 2019 a las 8:46

The variable actionTiddler is used in subtly different ways by different widgets:

  • Within the actions string of the DroppableWidget, the actionTiddler variable contains the title of the tiddler being dropped.
  • Within the startactions and endactions string of the DroppableWidget, the actionTiddler variable contains a quoted Title List of all of the titles being dragged.

ActionWidget Execution Modes

 16 noviembre 2021 a las 19:32

New in: 5.2.0 The default behaviour of action widgets has some peculiarities that often cause confusion. There is now an improved mode that simplifies how things work, but due to BackwardsCompatibility constraints, it must be explicitly engaged in order to take advantage of it.

The peculiarities relate to the way that the results of previous action widgets are available to subsequent action widgets. By default, action widgets are refreshed before each execution which ensure that they reflect the results of previous actions. However, ordinary widgets are not updated in the same way.

In the following contrived example, a button triggers a series of actions that should result in the string foo being assigned to the text field of the tiddler ActionTestTiddler. However, it fails to produce the expected result because the <$set> widget is not refreshed with the new value of ActionTestTiddler after the execution of the first <$action-setfield> widget.

\define actions()
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value="FOO"/>
<$set name="newvalue" value={{{ [{ActionTestTiddler}lowercase[]] }}}>
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value=<<newvalue>>/>
</$set>
\end

Current value of ActionTestTiddler: {{ActionTestTiddler}}

<$button actions=<<actions>>>
Click me
</$button>

Este es su aspecto:

\define actions() \end

Current value of ActionTestTiddler:

The new behaviour avoids these problems by refreshing all widgets before execution, not just action widgets. It is engaged by running the actions in a scope that includes the variable tv-action-refresh-policy set to the value always. (The default value for tv-action-refresh-policy is once).

The assignment can be done within an action string, or via a local variable declaration containing the widget triggering the action.

Do not attempt to set tv-action-refresh-policy globally; the core will only work correctly with the default setting

The example above works as expected with the addition of tv-action-refresh-policy:

\define tv-action-refresh-policy() always

\define actions()
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value="FOO"/>
<$set name="newvalue" value={{{ [{ActionTestTiddler}lowercase[]] }}}>
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value=<<newvalue>>/>
</$set>
\end

Current value of ActionTestTiddler: {{ActionTestTiddler}}

<$button actions=<<actions>>>
Click me
</$button>

Este es su aspecto:

\define tv-action-refresh-policy() always

\define actions() \end

Current value of ActionTestTiddler:

ActionWidgets

 31 octubre 2021 a las 17:29

Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget).

The following action widgets are provided:

There are two ways to use action widgets:

  • Placing them within an action string attribute (typically called actions) on the triggering widget (this is the preferred way)
  • Embedding the actions within the triggering widget (an older technique that is now deprecated)

Using action string attributes

The action widgets are passed as a string to the actions attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:

\define my-actions()
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
\end

<$button actions=<<my-actions>>>
Click me!
</$button>

Directly embedding action widgets

The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:

<$button>
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
Click me!
</$button>

Action Execution Modes

New in: 5.2.0 The default behaviour of action widgets has some peculiarities that often cause confusion. There is now an improved mode that simplifies how things work, but due to BackwardsCompatibility constraints, it must be explicitly engaged in order to take advantage of it.

The peculiarities relate to the way that the results of previous action widgets are available to subsequent action widgets. By default, action widgets are refreshed before each execution which ensure that they reflect the results of previous actions. However, ordinary widgets are not updated in the same way.

In the following contrived example, a button triggers a series of actions that should result in the string foo being assigned to the text field of the tiddler ActionTestTiddler. However, it fails to produce the expected result because the <$set> widget is not refreshed with the new value of ActionTestTiddler after the execution of the first <$action-setfield> widget.

\define actions()
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value="FOO"/>
<$set name="newvalue" value={{{ [{ActionTestTiddler}lowercase[]] }}}>
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value=<<newvalue>>/>
</$set>
\end

Current value of ActionTestTiddler: {{ActionTestTiddler}}

<$button actions=<<actions>>>
Click me
</$button>

Este es su aspecto:

\define actions() \end

Current value of ActionTestTiddler:

The new behaviour avoids these problems by refreshing all widgets before execution, not just action widgets. It is engaged by running the actions in a scope that includes the variable tv-action-refresh-policy set to the value always. (The default value for tv-action-refresh-policy is once).

The assignment can be done within an action string, or via a local variable declaration containing the widget triggering the action.

Do not attempt to set tv-action-refresh-policy globally; the core will only work correctly with the default setting

The example above works as expected with the addition of tv-action-refresh-policy:

\define tv-action-refresh-policy() always

\define actions()
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value="FOO"/>
<$set name="newvalue" value={{{ [{ActionTestTiddler}lowercase[]] }}}>
<$action-setfield $tiddler="ActionTestTiddler" $field="text" $value=<<newvalue>>/>
</$set>
\end

Current value of ActionTestTiddler: {{ActionTestTiddler}}

<$button actions=<<actions>>>
Click me
</$button>

Este es su aspecto:

\define tv-action-refresh-policy() always

\define actions() \end

Current value of ActionTestTiddler:

add Operator

 11 junio 2019 a las 13:50
purposetreating each input title as a number, add to each the numeric value of the operand
inputa selection of titles
parameterN = a number
outputthe input as numbers, but with N added to each one

Learn more about how to use Filters

add Operator (Examples)

 11 junio 2019 a las 13:55

[[23]add[19]]

=1 =2 =3 =4 +[add[4]]

Adding a table of contents to the sidebar

 6 noviembre 2018 a las 22:41

The standard mechanisms in TiddlyWiki for creating Table-of-Contents are macros known collectively as "toc" macros (click on link to learn more about macros). They use Tagging as their means of creating relationships, so be sure to review the Tagging topic tiddler if tagging is a new concept for you.

A customisable table of contents can be added to the sidebar with the following steps:

  1. Create a tiddler called TableOfContents
  2. Give it the tag $:/tags/SideBar
  3. Set the text to
    
    <div class="tc-table-of-contents">
    
    <<toc-selective-expandable 'TableOfContents'>>
    
    </div>
  4. Add a caption field with the text Contents
  5. Add a list-after field with the text $:/core/ui/SideBar/Open

Add entries to the table of contents by creating tiddlers tagged TableOfContents. An easy way is to choose new here from the tiddler toolbar of the TableOfContents tiddler. (if you don't see the "new here" button, click on the down arrow to see more menu options.)

To create child tiddlers (tiddlers that come below other tiddlers), tag them with the name of the parent tiddler.

Añadir una tabla de contenidos a la barra lateral

 26 abril 2016 a las 11:27

Es posible añadir una tabla de contenidos a la barra lateral, siguiendo estos pasos:

  1. Crea un tiddler llamado TableOfContents
  2. Etiquétalo como $:/tags/SideBar
  3. En el cuerpo del tiddler, escribe el siguiente texto:
    
    <div class="tc-table-of-contents">
    
    <<toc-selective-expandable 'TableOfContents'>>
    
    </div>
  4. Añade el campo caption con el texto Contenidos o la referencia adecuada a un tiddler o variable. p. ej, en el caso de la tabla de contenidos de este wiki, caption toma su valor del contenido de $:/language/SideBar/Contents/Caption.
  5. Añade el campo con el valor "$:/core/ui/SideBar/Open" para que la pestaña de de contenidos se muestre inmediatamente después de la de Abiertos

Añade entradas a la tabla de contenidos creando tiddlers con la etiqueta TableOfContents. Una forma sencilla de hacerlo es con el botón Nuevo aquí del desplegable Más. De igual modo, a partir de estas, se pueden crear subentradas etiquetadas con el nombre de la entrada del nivel superior.

Añadir botón "Seguir en Twitter"

 18 abril 2016 a las 6:11

Esta es una macro para crear el botón "Seguir en Twitter" para seguir una cuenta en particular:

\define twitterFollowButton(username)
<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/follow_button.html?screen_name=$username$"  style="width:300px; height:20px;"></iframe>
\end

El único cambio respecto de la versión publicada en https://dev.twitter.com/docs/follow-button es que se han eliminado las nuevas líneas.

Ten en cuenta que "src URL" aparece sin protocolo (o sea, "http" o "https"). Se hace así para que funcione en sitios alojados tanto en uno como en otro. Si quieres que el botón de Twitter funcione mientras manejas TiddlyWiki offline como "file://", tendrás que añadir el protocolo manualmente. Por ejemplo:

<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene"  style="width:300px; height:20px;"></iframe>

Incorporar el polyfill de Babel a TiddlyWiki

 6 mayo 2016 a las 16:36

No todos los navegadores soportan las últimas características de ES2015. El proyecto Babel ofrece un polyfill que puede incluirse en TiddlyWiki, de modo que dichas características estén disponibles para nuevos plugins. Para hacerlo, es necesaria una copia del código fuente del polyfill.

Puede obtenerse una copia a través de npm o se puede descargar desde la página del proyecto. En la documentación del polyfill de Babel existe información específica para su instalación.

Hay que crear una carpeta plugins/babel-polyfill dentro de la carpeta editions de TiddlyWiki. En ella hay que crear el documento plugins/babel-polyfill/plugin.info, con el siguiente contenido:

{
  "title": "$:/plugins/babel/babel-polyfill",
  "description": "Babel Polyfills for ES2015 support",
  "author": "Your Name Here",
  "core-version": ">=5.0.0"
}

Crea la carpeta plugins/babel-polyfill/files. Dentro, el archivo plugins/babel-polyfill/files/tiddlywiki.files, con el siguiente contenido:

{
  "tiddlers": [
    {
      "file": "polyfill.min.js",
      "fields": {
        "title": "$:/plugins/babel/babel-polyfill/polyfill.min.js",
        "type": "application/javascript",
        "module-type": "library",
        "global-module": "true"
      }
    }
  ]
}

Copia entonces el archivo polyfill.min.js que ya has descargado.

Si lo has descargado vía npm, tiene que estar en ./node_modules/babel-polyfill/dist/polyfill.min.js.

Por último, necesitarás un inicializador, para lo que deberás crear el archivo plugins/babel-polyfill/plugin.js, con el siguiente contenido:

/*\
title: $:/plugins/babel/babel-polyfill/plugin.js
type: application/javascript
module-type: startup

Load the babel-polyfill library on startup

\*/

exports.startup = function() {
  $tw.modules.execute('$:/plugins/babel/babel-polyfill/polyfill.min.js');
}

Debido a que se prevee que el polyfill se use en el navegador, necesitamos cargar la librería de manera condicional, lo que ES2016 no permite. Es por esto por lo que no usamos para ello la declaración import de ES2015, sino que está escrito como dependencia de TiddlyWiki

Ahora están disponibles todas las características del entorno de ejecución ES2015.

En Escribir plugins con ES2016 está disponible la información necesaria sobre la sintaxis de ES2015 para programar plugins.

addprefix Operator

 3 febrero 2015 a las 18:18
purposeextend each input title with a prefix
inputa selection of titles
parameterS = a string of characters
outputthe input, but with S added to the start of each title

Learn more about how to use Filters

addprefix Operator (Examples)

 18 enero 2015 a las 18:31

Cat Garden [[Favourite Armchair]] +[addprefix[My ]]

addsuffix Operator

 3 febrero 2015 a las 18:32
purposeextend each input title with a suffix
inputa selection of titles
parameterS = a string of characters
outputthe input, but with S added to the end of each title

Learn more about how to use Filters

addsuffix Operator (Examples)

 18 enero 2015 a las 18:31

[[London]addsuffix[ Underground]]

Define políticas de estilo

 18 abril 2016 a las 10:12

Mantener la coherencia entre títulos de tiddler puede volverse más y más difícil a medida la estructura de tu TiddlyWiki se vuelve más y más compleja. Por ejemplo: ¿Hay que referirse a términos en plural o en singular? ¿En CamelCase o separando palabras? ¿Con mayúscula sólo al principio o Con Mayúscula En Cada Palabra? ¿Traducimos los términos en inglés o los incorporamos a nuestra terminología?

Redactar formalmente una política de estilos puede ser de gran ayuda para reducir toda posible confusión. Por ejemplo, la Guía de estilo de este TiddlyWiki.

Tiddlers de sistema

Una convención que te resultará útil es la de usar el prefijo $:/_para todo nuevo tiddler de sistema que crees, porque así te aseguras de que aparezca al principio de las listas, por ejemplo, la lista de tiddlers de sistema de la barra lateral en la pestaña Más/Sistema.

after Operator

 3 febrero 2015 a las 18:32
purposefind which input title follows a specified one
inputa selection of titles
parameterT = one of those titles
outputthe title that immediately follows T in the input

Learn more about how to use Filters

If T is not present in the input, or is the last title there, then the output is empty.

Examples

after Operator (Examples)

 18 enero 2015 a las 18:31

These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.

[list[Days of the Week]after[Monday]]

[list[Days of the Week]after[Sunday]]

Mecanismo de alertas

 28 abril 2016 a las 16:14

Las alertas se muestran como cajas amarillas superpuestas a la ventana principal de TiddlyWiki. Cada una corresponde a un tiddler con la etiqueta <<.tag $:/tags/Alert]]. Pinchando el icono de la papelera en una alerta borra el tiddler correspondiente.

Aquí va una demostración: .

Los tiddlers de alerta contienen los siguientes campos:

CampoDescripción
titlePor defecto, con el prefijo $:/temp/alerts/
textTexto de la alerta
modifiedFecha y hora de la alerta (para ordenarlos en pantalla)
componentComponente asociado a la alerta
tagsDeben incluir $:/tags/Alert

Alice in Wonderland

 

all Operator

 17 diciembre 2021 a las 13:57
purposefind all titles of a fundamental category
inputignored, unless the parameter is empty
parameterzero or more categories
outputthe titles that belong to all the specified categories

Learn more about how to use Filters

The parameter specifies zero or more fundamental categories using the following syntax:

missingcurrentorphansshadowstagstiddlers+
CategoryMembersSorted
currentjust the current tiddler
missingall non-existent tiddlers to which there is at least one hard linkno
orphansall tiddlers to which there are no hard linksby title
shadowsall the shadow tiddlers that exist, including any that have been overridden with non-shadow tiddlersno
tagsall the tags in use on non-shadow tiddlersno
tiddlersall the non-shadow tiddlers that existno

If the parameter specifies more than one category, they are processed from left to right. The overall output is initially empty, and each category's output is dominantly appended to it in turn. Unrecognised categories contribute nothing to the output.

As a special case, if the parameter is empty, the output is simply a copy of the input. This can be useful when the parameter is soft.

The is operator is similar, but its scope is restricted to its input.

Examples

all Operator (Examples)

 18 enero 2015 a las 18:31

[all[shadows]]

[all[shadows+tiddlers]]

[all[tiddlers+shadows]]

[all[orphans+missing+current]]

[all[current]]

[all[current]tag[Operator Examples]]

[all[current]tag[Recipes]]

Monday Thursday +[all[]]

allafter Operator

 8 noviembre 2015 a las 5:15
purposediscard all items except those after the marker
inputa list of items
suffixspecifying a suffix ('include') will include the marker in the output
parametermarker = the list item to be used as a marker
outputall items after the marker

Learn more about how to use Filters

allafter Operator (Examples)

 8 noviembre 2015 a las 8:05

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]] +[allafter[Wednesday]]

[list[Days of the Week]] +[allafter:include[Wednesday]]

allbefore Operator

 8 noviembre 2015 a las 5:15
purposediscard all items except those before the marker
inputa list of items
suffixspecifying a suffix ('include') will include the marker in the output
parametermarker = the list item to be used as a marker
outputall items before the marker

Learn more about how to use Filters

allbefore Operator (Examples)

 8 noviembre 2015 a las 5:14

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]allbefore[Wednesday]]

[list[Days of the Week]allbefore:include[Wednesday]]

A B C D E +[allbefore:include[C]count[]]

AllTiddlers

 25 febrero 2014 a las 21:19

Current tiddlers:

"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
"A Thesis Notebook" by Alberto Molina
"ATWiki" by Lamusia Project
"BJTools" by buggyj
"BrainTest - tools for a digital brain" by Danielo Rodriguez
"Cardo - Task and Project Management Wiki" by David Szego
"CouchDB Adaptor" by William Shallum
"Creating a baby journal with TiddlyWiki 5" from A Penguin in Redmond
"Dracula - a dark palette for TiddlyWiki" by SlyBouhafs & zenorocha
"Drift - Collect, Organise, Grow." by Tony K
"Dropboard" by Reid Gould
"Dynamic Tables" by Jed Carty
"Encrypt single tiddler plugin" by Danielo Rodriguez
"file-backups" Extension for Firefox by pmario
"Filter Examples" by Tobias Beer
"Font Awesome 5 Free SVGs for TiddlyWiki" by morosanuae
"Ghostwriter theme by Rory Gibson" adapted for TW5 by Riz
"Gospel Bubbles" by Rev. David Gifford
"Grok TiddlyWiki" by Soren Bjornstad
"GSD5" by Roma Hicks
"Hacks" by Thomas Elmiger
"Heeg.ru" by sini-Kit
"In My Socks" by Jed Carty
"JD Mobile Layout plugin" by JD
"JD's palettes" by JD
"Lucky Sushi" online shop by sini-Kit
"Mal's Sandbox" by Mal
"MathCell" by Stephen Kimmel
"Microblogging con Tiddlywiki" by Juan
"Moments: A little color won't hurt" by Riz
"Mono theme" by JD
"muritest" by Simon Huber
"Notebook theme" by Nicolas Petton
"Noteself" by Danielo Rodríguez
"Notizen mit TiddlyWiki systemübergreifend nutzen" by Michael Sonntag
"PETTIL - Forth for the Commodore PET" by Charlie Hitselberger
"Reveal.js" by Devin Weaver
"savetiddlers" Extension for Chrome and Firefox by buggyj
"Setting Up a Personal TiddlyWiki Server on OS X" by Kris Johnson
"Shining Ark Using TiddlyWiki" by Helu
"SK Plugins" by Stephen Kimmel
"Slides and Stories" by Jan
"Stroll - a Roam-like experience" by David Gifford
"TB5 - a pocket full of tips" by Tobias Beer
"Tekan: Kanban that stays with you" by Riz
"TiddlyServer" by Matt Lauber
"TiddlyStudy" by Kebi
"TiddlyWiki 5 im Betatest" by besim
"TiddlyWiki for Scholars" by Alberto Molina
"TiddlyWiki guide FR" by Sylvain Naudin
"TiddlyWiki Knowledge Network" by Dmitry Sokolov
"TiddlyWiki Notes" by James Anderson
"TiddlyWiki Posts" by Jeffrey Kishner
"TiddlyWiki Toolmap" by David Gifford
"TiddlyWiki 舞" by Bram Chen
"TiddlyWiki" by Sander de Boer
"TiddlyWiki5 Bourbon" by mkt_memory
"TiddlyWiki5 Forum on Reddit" by Riz
"TiddlyWiki5 Playground" by Ton Gerner
"TiddlyWiki5^2 documenting while learning TiddlyWiki5" by Iannis Zannos
"TW Icons" by morosanuae
"TW5 Magick" by Stephan Hradek
"TW5 Tribal Knowledge" from Scott Kingery
"TW5-TeXZilla" plugin by Joe Renes
"TWeb.at" by Mario Pietsch
"Un wiki sur votre BiblioBox avec TiddlyWiki" from A Penguin in Redmond
"Whitespace, a negative-spacious, webapp-nostalgic theme" by JD
"Wikilabs" by PMario
"Wills Q&D gTD" by Matabele
"X3DOM for TiddlyWiki 5" by Jamal Wills
"デザイン刷新。次の25年を目指すTiddlyWiki" by Moongift
A Gentle Guide to TiddlyWiki
About
abs Operator
abs Operator (Examples)
Ace Editor Plugin by Joerg Plewe
Acknowledgements
acos Operator
acos Operator (Examples)
ActionConfirmWidget
ActionCreateTiddlerWidget
ActionCreateTiddlerWidget Example
ActionCreateTiddlerWidget Example 1
ActionCreateTiddlerWidget Example 2
ActionCreateTiddlerWidget Example 3
ActionCreateTiddlerWidget Example 4
ActionCreateTiddlerWidget Example 5
ActionCreateTiddlerWidget Template
ActionDeleteFieldWidget
ActionDeleteTiddlerWidget
ActionListopsWidget
ActionListopsWidget (Examples)
ActionLogWidget
ActionNavigateWidget
ActionPopupWidget
ActionSendMessageWidget
ActionSetFieldWidget
ActionSetMultipleFieldsWidget
actionTiddler Variable
ActionWidget Execution Modes
ActionWidgets
add Operator
add Operator (Examples)
Adding a table of contents to the sidebar
Adding a Table of Contents to the Sidebar
Adding a Twitter Follow button
Adding Babel Polyfill to TiddlyWiki
addprefix Operator
addprefix Operator (Examples)
addsuffix Operator
addsuffix Operator (Examples)
Adopt a Titles Policy
after Operator
after Operator (Examples)
AlertMechanism
Alice in Wonderland
all Operator
all Operator (Examples)
allafter Operator
allafter Operator (Examples)
allbefore Operator
allbefore Operator (Examples)
AllTiddlers
AlphaReleases
Alternative page layouts
Amazon Web Services Plugin
Anchor Links using HTML
append Operator
append Operator (Examples)
Apple
applypatches Operator
Articles
asin Operator
asin Operator (Examples)
atan Operator
atan Operator (Examples)
atan2 Operator
atan2 Operator (Examples)
Attribute Selectors
Audio
AutoSave
average Operator
average Operator (Examples)
backlinks Operator
backlinks Operator (Examples)
Base64
before Operator
before Operator (Examples)
Behaviour of invoked variables depends on how the variable was declared
Behaviour of variables invoked via filter expression function call
Behaviour of variables invoked via filter operator parameter
Behaviour of variables invoked via normal wikitext
Behaviour of variables invoked via widget attributes
BetaReleases
bf Operator
Block Mode WikiText
Block Mode WikiText (Examples)
Block Quotes in WikiText
Blog Edition
Blurry Lawn.jpg
Brackets
Brownies
BrowserCompatibility
BrowserStorage Plugin
BrowseWidget
BT
BuildCommand
Building TiddlyWikiClassic
butfirst Operator
butlast Operator
butlast Operator (Examples)
ButtonWidget
CamelCase
Caruso - Ave Maria
Cascade Filter Run Prefix
Cascade Filter Run Prefix (Examples)
Cascades
Cascading Style Sheets
ceil Operator
ceil Operator (Examples)
changecount Macro
changecount Macro (Examples)
Changes to filters in 5.0.9-beta
charcode Operator
charcode Operator (Examples)
CheckboxWidget
CheckboxWidget (field Mode)
CheckboxWidget (filter Mode)
CheckboxWidget (indeterminate)
CheckboxWidget (index Mode)
CheckboxWidget (listField Mode)
CheckboxWidget (listIndex Mode)
CheckboxWidget (tag Mode)
Chick Peas
Chinese (Simplified) Edition
Chinese (Traditional) Edition
ClearPasswordCommand
Code Blocks in WikiText
Code styles and auto format settings for IDEs
CodeBlockWidget
CodeMirror Plugin
colour Macro
colour Macro (Examples)
colour-picker Macro
colour-picker Macro (Example 1)
colour-picker Macro (Examples)
ColourPalettes
Comma-Separated Values
Commands
commands Operator
commands Operator (Examples)
CommandsCommand
Community
Community Editions
Community Links Aggregator
Community Palettes
Community Plugins
Community Themes
compare Operator
compare Operator (Examples)
Compose ballad
Concatenating text and variables using macro substitution
Concepts
Conditional Operators
Configuring startup tiddlers
Configuring the default TiddlerInfo tab
Consent Banner Plugin
Constructing JSON tiddlers
contains Operator
contains Operator (Examples)
Contents
ContentType
contrastcolour Macro
Contributing
ContributingTemplate
Contributor License Agreement
Contributors
Coordinate Systems
copy-to-clipboard Macro
copy-to-clipboard Macro (Examples)
Copying tiddlers between TiddlyWiki files
Core Icons
Core Macros
Core Variables
cos Operator
cos Operator (Examples)
count Operator
count Operator (Examples)
CountWidget
Creating a custom export format
Creating a splash screen
Creating and editing tiddlers
Creating journal tiddlers
Creating new toolbar buttons
Creating SubStories
csvtiddlers Macro
Current Tiddler
currentTiddler Variable
currentTiddler Variable (Examples)
Custom data-styles
Custom styles by data-tags
Custom styles by data-tiddler-title
Custom styles by user-class
Custom Styles FAQ
Custom tag pill styles
Custom Widgets
Customise TiddlyWiki
Customising search results
Customising Tiddler File Naming
Customising TiddlyWiki's user interface
Customizing EditTemplate field rendering
cycle Operator
cycle Operator (Examples)
D3 Plugin
Dashes in WikiText
Data URI
DataTiddlers
datauri Macro
datauri Macro (Examples)
Date Fields
DateFormat
datepicker plugin based on Pikaday, by kixam
Days of the Week
days Operator
days Operator (Examples)
Debugging Stylesheets
decodebase64 Operator
decodehtml Operator
decodehtml Operator (Examples)
decodeuri Operator
decodeuri Operator (Examples)
decodeuricomponent Operator
decodeuricomponent Operator (Examples)
DefaultTiddlers
Definitions
Definitions in WikiText
DeleteTiddlersCommand
Demo Tiddler List with Custom Story Tiddler Template
Demonstration: keyboard-driven-input Macro
Deprecated - What does it mean
deserialize Operator
deserialize Operator (Examples)
Deserializers
deserializers Operator
deserializers Operator (Examples)
Deutsch (Deutschland) Edition
Deutsch (Österreich) Edition
Developers
DictionaryTiddlers
DiffTextWidget
Disabling Plugins
Discover TiddlyWiki
Disqus comments plugin by bimlas
divide Operator
divide Operator (Examples)
Document Object Model
Documentation Macros
Documentation Style Guide
Dominant Append
done
DraftMechanism
Drag and Drop
DragAndDropMechanism
DraggableWidget
DroppableWidget
DropzoneWidget
dumpvariables Macro
dumpvariables Macro (Examples)
duplicateslugs Operator
Dynaview Plugin
each Operator
each Operator (Examples)
eachday Operator
eachday Operator (Examples)
Edición en Castellano
Edit Template Body Cascade
EditBitmapWidget
Editing Tiddlers with Emacs
Editing Tiddlers with Vim
Édition en Français (France)
editiondescription Operator
Editions
editions Operator
EditionsCommand
Editor toolbar
EditTextWidget
EditWidget
else Operator
else Operator (Examples)
Emergency Tiddler Export
Empty Edition
encodebase64 Operator
encodehtml Operator
encodehtml Operator (Examples)
encodeuri Operator
encodeuri Operator (Examples)
encodeuricomponent Operator
encodeuricomponent Operator (Examples)
Encryption
EncryptWidget
enlist Operator
enlist Operator (Examples)
enlist-input Operator
enlist-input Operator (Examples)
EntityWidget
Environment Variables on Node.js
ErrorWidget
escapecss Operator
escapecss Operator (Examples)
escaperegexp Operator
escaperegexp Operator (Examples)
Eucaly's Tiddly World
EventCatcherWidget
Example config-tiddlyweb-host for IIS
Example for tag Macro
Example package.json for IIS
Example Table of Contents: Expandable
Example Table of Contents: Selectively Expandable
Example Table of Contents: Selectively Expandable (custom icons)
Example Table of Contents: Simple
Example Table of Contents: Sorted Expandable
Example Table of Contents: Tabbed External
Example Table of Contents: Tabbed Internal
Example tiddlywiki.info for IIS
Example web.config for IIS
Examples
exponential Operator
exponential Operator (Examples)
Extended Listops Filters
External Attachments Plugin
ExternalImages
Favorites by Mohammad
Features
Federatial
Federatial.png
FetchCommand
Field Editor Cascade
field Operator
field Operator (Examples)
FieldMangler Widget (Examples)
FieldManglerWidget
fields Operator
fields Operator (Examples)
FieldsWidget
FillWidget
Filter Expression
Filter Filter Run Prefix
Filter Filter Run Prefix (Examples)
filter Operator
filter Operator (Examples)
Filter Operators
Filter Parameter
Filter Run
Filter Run Prefix (Examples)
Filter Step
Filter Syntax
Filter Whitespace
Filtered Attribute Values
Filters
First
first Operator
first Operator (Examples)
FirstOne
FirstThree
FirstTwo
fixed Operator
fixed Operator (Examples)
floor Operator
floor Operator (Examples)
format Operator
format Operator (Examples)
Formatting in WikiText
Formatting List Results as Tables (no CSS)
Formatting List Results as Tables with CSS - Specified Columns Methods
Formatting List Results as Tables with CSS - Variable Column Method
Formatting text in TiddlyWiki
Forums
Fourth
Friday
Full Edition
Full Text Search Plugin by Rob Hoelz
function Operator
Functions
Funding TiddlyWiki
Funding.png
Future Proof
Generating Static Sites with TiddlyWiki
GenesisWidget
get Operator
get Operator (Examples)
Get the Ring
getindex Operator
getindex Operator (Examples)
Getting Started Video
GettingStarted
GettingStarted - Android
GettingStarted - Chrome
GettingStarted - Firefox
GettingStarted - Internet Explorer
GettingStarted - iOS
GettingStarted - Node.js
GettingStarted - Online
GettingStarted - Safari
getvariable Operator
getvariable Operator (Examples)
Git
GitHub
GitHub Saver Tutorial by Mohammad
GitLab
Glosario en-GB -> es-ES
Go to Mordor
Grok TiddlyWiki Banner
GroupedLists
GuerillaWiki
Hamlet
Hard and Soft Links
Hard Linebreaks in WikiText
Hard Linebreaks with CSS
Hard Linebreaks with CSS - Example
has Operator
has Operator (Examples)
haschanged Operator
Headings in WikiText
Height of text editor
HelloThere
HelloThumbnail
HelloThumbnail - Classic
HelloThumbnail - Developers
HelloThumbnail - Federatial
HelloThumbnail - Funding
HelloThumbnail - Gentle Guide
HelloThumbnail - Grok TiddlyWiki
HelloThumbnail - HelpingTiddlyWiki
HelloThumbnail - Introduction Video
HelloThumbnail - Latest Version
HelloThumbnail - Marketplace
HelloThumbnail - Newsletter
HelloThumbnail - TiddlyWikiLinks
HelpCommand
HelpingTiddlyWiki
Hidden Setting: Default Tiddler Icon
Hidden Setting: Disable Drag and Drop
Hidden Setting: Disable Lazy Loading
Hidden Setting: Enable File Import in Editor
Hidden Setting: Filename for Save Wiki Button
Hidden Setting: HTML Parser Sandbox
Hidden Setting: More Tabs Horizontal
Hidden Setting: Navigate on Enter
Hidden Setting: New-Image Type
Hidden Setting: Retain Story ordering
Hidden Setting: Scroll Top Adjustment
Hidden Setting: Search AutoFocus
Hidden Setting: Search Minimum Length
Hidden Setting: Show Edit Preview per Tiddler
Hidden Setting: Sync Logging
Hidden Setting: Sync Polling Interval
Hidden Setting: Sync System Tiddlers From Server
Hidden Setting: Tab Index for Edit-Inputs
Hidden Setting: Tags Minimum Length
Hidden Setting: Template for Save Wiki Button
Hidden Setting: Typing Refresh Delay
Hidden Setting: ViewTemplate and EditTemplate
Hidden Settings
Hidden Settings: Import Content Types for Editor
Highlight Plugin
History of TiddlyWiki
HistoryMechanism
Horizontal Rules in WikiText
How to add a banner for GitHub contributions
How to add a new tab to the sidebar
How to apply custom styles
How to apply custom styles by tag
How to build a TiddlyWiki5 from individual tiddlers
How to change the sort order of sub-branches in a TOC macro
How to create a custom story tiddler template
How to create a custom tiddler colour rule
How to create a custom tiddler icon rule
How to create dynamic editor toolbar buttons
How to create keyboard shortcuts
How to Customize TiddlyDesktop
How to embed PDF and other documents
How to export tiddlers
How to hide the author's and other fields with CSS
How to put the last modification date in a banner
How to remove stop words
How to turn off camel case linking
How to update TiddlyWiki to the latest version
How to widen tiddlers (aka storyriver)
HTML Block Elements
HTML Entities
HTML in WikiText
HTML Links in WikiText
HyperText Markup Language
Icon Gallery
image-picker Macro
image-picker Macro (Example 1)
image-picker Macro (Example 2)
image-picker Macro (Examples)
ImageGallery Example
Images in WikiText
ImageWidget
ImportCommand
Importing Tiddlers
ImportTiddlers
ImportVariablesWidget
Improving TiddlyWiki Documentation
IndexedDB Plugin by Andreas Abeck
indexes Operator
indexes Operator (Examples)
InfoMechanism
InfoPanel
Información para traductores
InitCommand
Inline Mode WikiText
Innerwiki Plugin
Insert link
Insert picture
insertafter Operator
insertafter Operator (Examples)
insertbefore Operator
insertbefore Operator (Examples)
Installing a plugin from the plugin library
Installing custom plugins on Node.js
Installing official plugins on Node.js
Installing TiddlyWiki on Microsoft Internet Information Server
Installing TiddlyWiki on Node.js
Installing TiddlyWiki Prerelease on Node.js
Instruction Tiddlers
Interactive Git Documentation by Devin Weaver
Intersection Filter Run Prefix
Intersection Filter Run Prefix (Examples)
Introducing TiddlyDesktop Video
Introduction to filter notation
Introduction to Lists
Introduction Video
Introduction Video Thumbnail.jpg
is Operator
is Operator (Examples)
Japanese (Japan) Edition
JavaScript
JavaScript Object Notation
JeremyRuston
Jermolene
join Operator
join Operator (Examples)
JSON in TiddlyWiki
Json Mangler plugin by Joshua Fontany
jsonextract Operator
jsonget Operator
jsonindexes Operator
jsonstringify Operator
jsontiddler Macro
JSONTiddlers
jsontiddlers Macro
JSONTiddlerWidget
jsontype Operator
JSZip Plugin
KaTeX Plugin
kdi-demo-configtid
Keyboard Codes
Keyboard Shortcut Descriptor
Keyboard Shortcut Tiddler
keyboard-driven-input Macro
KeyboardShortcuts
KeyboardWidget
Kill the Dragon
Kin filter operator by bimlas
Kookma Plugin Library by Mohammad
Korean (Korea Republic) Edition
Language Icon: ca-ES
Language Icon: cs-CZ
Language Icon: da-DK
Language Icon: de-AT
Language Icon: de-DE
Language Icon: el-GR
Language Icon: en-US
Language Icon: es-ES
Language Icon: fr-FR
Language Icon: hi-IN
Language Icon: ia-IA
Language Icon: it-IT
Language Icon: ja-JP
Language Icon: ko-KR
Language Icon: nl-NL
Language Icon: pa-IN
Language Icon: pt-PT
Language Icon: ru-RU
Language Icon: sk-SK
Language Icon: sv-SE
Language Icon: zh-Hans
Language Icon: zh-Hant
LanguageGallery Example
Languages
last Operator
last Operator (Examples)
Latest
LazyLoading
Leaflet maps plugin by Sylvain Comte
Learning
length Operator
length Operator (Examples)
LetWidget
levenshtein Operator
levenshtein Operator (Examples)
License
limit Operator
limit Operator (Examples)
lingo Macro
lingo Macro (Examples)
LinkCatcherWidget
Linking in WikiText
links Operator
links Operator (Examples)
LinkWidget
list Operator
list Operator (Examples)
list-links Macro
list-links Macro (Examples)
list-links-draggable Macro
list-links-draggable Macro (Examples)
list-tagged-draggable Macro
list-tagged-draggable Macro (Examples)
list-thumbnails Macro
list-thumbnails Macro (Examples)
listed Operator
listed Operator (Examples)
ListenCommand
ListField
ListopsData
Lists in WikiText
ListWidget
Literal Attribute Values
LoadCommand
Locator plugin by bimlas
log Operator
log Operator (Examples)
LogWidget
lookup Operator
lookup Operator (Examples)
lowercase Operator
lowercase Operator (Examples)
Macro Call Syntax
Macro Calls
Macro Calls in WikiText
Macro Calls in WikiText (Examples)
Macro Definition Syntax
Macro Definitions
Macro Definitions in WikiText
Macro Parameter Handling
Macro Pitfalls
Macro Syntax
MacroCallWidget
Macros
Macros in WikiText
Make the beds
makedatauri Macro
makedatauri Macro (Examples)
MakeLibraryCommand
makepatches and applypatches Operator (Examples)
makepatches Operator
Making a custom journal button
Making curved text with SVG
Manually installing a plugin
Map Filter Run Prefix
Map Filter Run Prefix (Examples)
Markdown
Markdown Plugin
match Operator
match Operator (Examples)
Mathematics Operators
MathJax Plugin by Martin Kantor
MathML
max Operator
max Operator (Examples)
maxall Operator
maxall Operator (Examples)
Mechanisms
median Operator
median Operator (Examples)
Meetups
MessageCatcherWidget
MessageHandlerWidgets
Messages
Milk
min Operator
min Operator (Examples)
minall Operator
minall Operator (Examples)
minlength Operator
minlength Operator (Examples)
MiSubHistoria
Mobile Drag And Drop Shim Plugin
Modals
modifier Variable
Modifying JSON tiddlers
moduleproperty Operator
moduleproperty Operator (Examples)
Modules
modules Operator
modules Operator (Examples)
ModuleType
moduletypes Operator
moduletypes Operator (Examples)
Monday
More actions
Motovun Jack.ascii
Motovun Jack.jpg
Motovun Jack.pdf
Motovun Jack.svg
move Operator
move Operator (Examples)
multiply Operator
multiply Operator (Examples)
MultiTiddlerFiles
MultiTiddlerFileSyntax
MySubHistoryList
MySubStoryList
Named Filter Run Prefix
NamedCommandParameters
namespace Variable
Naming of System Tiddlers
Navigating between open tiddlers
NavigatorWidget
negate Operator
negate Operator (Examples)
New Release Banner
Newnham Horizon.jpg
next Operator
next Operator (Examples)
node-webkit
Node.js
Notes for upgrading to 5.0.11-beta
Notes for upgrading to 5.0.8-beta
Notifications
now Macro
now Macro (Examples)
nsort Operator
nsort Operator (Examples)
nsortcs Operator
nsortcs Operator (Examples)
nth Operator
nth Operator (Examples)
NW.js
Obadiah TOC
OfficialPlugins
Open Collective
Open Collective Logo
OpenSource
Order of Tagged Tiddlers
order Operator
Osmosoft
Other Resources
OutputCommand
OXTWIG
pad Operator
pad Operator (Examples)
Page and tiddler layout customisation
Paragraphs in WikiText
ParametersWidget
ParametersWidget (Examples)
PasswordCommand
PasswordWidget
Percent Encoding
Performance
Performance Instrumentation
PerlinLight.jpg
PermaLinks
PESpot Lesson Planner by Patrick Detzner
Philosophy of Tiddlers
Pinstripe.gif
Places where the parser ignores WikiText
Platforms
Plugin Dependencies
Plugin Editions
Plugin Fields
Plugin Information Tiddlers
Plugin Ordering
Plugin Types
PluginFolders
PluginMechanism
Plugins
Plugins by TheDiveO
PluginsCS
plugintiddlers Operator
plugintiddlers Operator (Examples)
PopupMechanism
power Operator
power Operator (Examples)
Pragma
Pragma: \define
Pragma: \function
Pragma: \import
Pragma: \parameters
Pragma: \parsermode
Pragma: \procedure
Pragma: \rules
Pragma: \whitespace
Pragma: \widget
Pragmas
precision Operator
precision Operator (Examples)
prefix Operator
prefix Operator (Examples)
prepend Operator
prepend Operator (Examples)
Preserving open tiddlers at startup
previous Operator
previous Operator (Examples)
Procedure Calls
Procedure Definitions
Procedure Parameter Handling
Procedures
Product Hunt Link
product Operator
product Operator (Examples)
ProductHunt-Badge.svg
Projectify by Nicolas Petton
prueba
putafter Operator
putafter Operator (Examples)
putbefore Operator
putbefore Operator (Examples)
putfirst Operator
putfirst Operator (Examples)
putlast Operator
putlast Operator (Examples)
Q: How can I style a tiddler if it has "this" AND "that" tag?
Q: How can I style a tiddler if it has "this" OR "that" tag?
Q: How can I use a custom field to style a tiddler?
Q: Is there a way to create dynamic stylesheets?
Q: What if a tiddler has no tags?
qualify Macro
qualify Macro (Examples)
QualifyWidget
Quick Start
Quick Start: Desktop
Quick Start: DIY
Quick Start: Tiddlyhost
Quick Start: Xememex
Quine
RadioWidget
RadioWidget Example
RadioWidget ExampleTemplate
Railroad Diagrams
Railroad Plugin
range Operator
RangeWidget
RangeWidget Example
rboue's plugins for TiddlyWiki
Reading data from JSON tiddlers
ReadMe
ReadMeBinFolder
Reddit Logo
Reduce Filter Run Prefix
Reduce Filter Run Prefix (Examples)
reduce Operator
reduce Operator (Examples)
Reference
Reference Tiddlers
Refnotes by Mohammad
RefreshMechanism
RefreshThrottling
RegExp in Tiddlywiki by Mohammad
regexp Operator
regexp Operator (Examples)
Release 5.0.0-alpha.11
Release 5.0.0-alpha.12
Release 5.0.0-alpha.13
Release 5.0.0-alpha.14
Release 5.0.0-alpha.15
Release 5.0.0-alpha.16
Release 5.0.0-alpha.17
Release 5.0.1-alpha
Release 5.0.10-beta
Release 5.0.11-beta
Release 5.0.12-beta
Release 5.0.13-beta
Release 5.0.14-beta
Release 5.0.15-beta
Release 5.0.16-beta
Release 5.0.17-beta
Release 5.0.18-beta
Release 5.0.2-beta
Release 5.0.3-beta
Release 5.0.4-beta
Release 5.0.5-beta
Release 5.0.6-beta
Release 5.0.7-beta
Release 5.0.8-beta
Release 5.0.9-beta
Release 5.1.0
Release 5.1.1
Release 5.1.10
Release 5.1.11
Release 5.1.12
Release 5.1.13
Release 5.1.14
Release 5.1.15
Release 5.1.16
Release 5.1.17
Release 5.1.18
Release 5.1.19
Release 5.1.2
Release 5.1.20
Release 5.1.21
Release 5.1.22
Release 5.1.23
Release 5.1.3
Release 5.1.4
Release 5.1.5
Release 5.1.6
Release 5.1.7
Release 5.1.8
Release 5.1.9
Release 5.2.0
Release 5.2.1
Release 5.2.2
Release 5.2.3
Release 5.2.4
Release 5.2.5
Release 5.2.6
Release 5.2.7
Release 5.3.0
Release 5.3.1
Releases
ReleaseTemplate
remainder Operator
remainder Operator (Examples)
remove Operator
remove Operator (Examples)
removeprefix Operator
removeprefix Operator (Examples)
removesuffix Operator
removesuffix Operator (Examples)
RenderCommand
RenderTiddlerCommand
RenderTiddlersCommand
replace Operator
replace Operator (Examples)
ReportingBugs
resolvepath Macro
resolvepath Macro (Examples)
Resources
rest Operator
rest Operator (Examples)
Résumé Builder Edition
RevealWidget
reverse Operator
reverse Operator (Examples)
Rice Pudding
RoadMap
round Operator
round Operator (Examples)
SafeMode
sameday Operator
sameday Operator (Examples)
Sample Headings 1,2,3
Sample Headings 3,4,5
Sample Headings 4,5,6
Sample Tiddler Template
SampleAlert
SampleModal
SampleNotification
SampleTabFour
SampleTabOne
SampleTabThree
SampleTabTwo
sampletag1
sampletag2
SampleTemplate
SampleTiddlerFirst
SampleTiddlerSecond
SampleTiddlerThird
SampleWindowTemplate
SampleWizard
SampleWizard2
Saturday
SaveCommand
SaveTiddlerCommand
SaveTiddlersCommand
SaveTrail Plugin
SaveWikiFolderCommand
Saving
Saving on a PHP Server
Saving on Android
Saving on Browser with File System Access API
Saving on Browser with TiddlyStow
Saving on InternetExplorer
Saving on iPad/iPhone
Saving on Safari
Saving on TiddlyDesktop
Saving on TiddlyHost
Saving on TiddlySpot
Saving on TidGi Desktop
Saving to a Git service
Saving via a Minimal Ruby Server
Saving via a Minimal Web Server
Saving via WebDAV
Saving with Polly
Saving with the HTML5 fallback saver
Saving with the HTML5 saver
Saving with TiddlyFox
Saving with TiddlyFox on Android
Saving with TiddlyIE
Saving with TW Receiver
SavingMechanism
Scalability
Scripts for TiddlyWiki on Node.js
ScrollableWidget
search Operator
search Operator (Examples)
search-replace Operator
search-replace Operator (Examples)
Searching in TiddlyWiki
Searchwikis by Mohammad
Second
SecondOne
SecondThree
SecondThreeOne
SecondThreeThree
SecondThreeTwo
SecondTwo
SeeAlso by Matias Goldman
Selection Constructors
SelectWidget
Semantic Colors by Mohammad
sentencecase Operator
sentencecase Operator (Examples)
ServerCommand
Serving TW5 from Android
SetFieldCommand
SetMultipleVariablesWidget
Setting a favicon
Setting a page background image
SetVariableWidget
SetWidget
sha256 Operator
shadowsource Operator
shadowsource Operator (Examples)
ShadowTiddlers
Share Plugin
Sharing a TiddlyWiki on Dropbox
Sharing your tiddlers with others
Shiraz by Mohammad
sign Operator
sign Operator (Examples)
Signing the Contributor License Agreement
Simple ways to write protect tiddlers
Simple Zork-like Game by Jed Carty
sin Operator
sin Operator (Examples)
SingleFileApplication
SinglePageApplication
Slider by Mohammad
SlotWidget
slugify Operator
Some of the things you can do with TiddlyWiki
Sort Filter Run Prefix
Sort Filter Run Prefix (Examples)
sort Operator
sort Operator (Examples)
sortan Operator
sortan Operator (Examples)
sortby Operator
sortby Operator (Examples)
sortcs Operator
sortcs Operator (Examples)
sortsub Operator
sortsub Operator (Examples)
Spelling
split Operator
split Operator (Examples)
splitbefore Operator
splitbefore Operator (Examples)
splitregexp Operator
splitregexp Operator (Examples)
standard-deviation Operator
standard-deviation Operator (Examples)
Stanford JavaScript Crypto Library
StartupActions
StateMechanism
Story River
Story Tiddler Template
Story Tiddler Template Cascade
storyTiddler Variable
storyTiddler Variable (Examples)
storyviews Operator
storyviews Operator (Examples)
stringify Operator
stringify Operator (Examples)
Structuring TiddlyWiki
Styles and Classes in WikiText
Stylesheet Macros
subfilter Operator
subfilter Operator (Examples)
substitute Operator
substitute Operator (Examples)
Substituted Attribute Values
subtiddlerfields Operator
subtiddlerfields Operator (Examples)
subtract Operator
subtract Operator (Examples)
suffix Operator
suffix Operator (Examples)
sum Operator
sum Operator (Examples)
Sunday
SystemTag: $:/tags/AboveStory
SystemTag: $:/tags/AdvancedSearch
SystemTag: $:/tags/AdvancedSearch/FilterButton
SystemTag: $:/tags/Alert
SystemTag: $:/tags/BelowStory
SystemTag: $:/tags/ClassFilters/PageTemplate
SystemTag: $:/tags/ClassFilters/TiddlerTemplate
SystemTag: $:/tags/ControlPanel
SystemTag: $:/tags/ControlPanel/Advanced
SystemTag: $:/tags/ControlPanel/Appearance
SystemTag: $:/tags/ControlPanel/Info
SystemTag: $:/tags/ControlPanel/Plugins
SystemTag: $:/tags/ControlPanel/Saving
SystemTag: $:/tags/ControlPanel/Settings
SystemTag: $:/tags/ControlPanel/Toolbars
SystemTag: $:/tags/EditorToolbar
SystemTag: $:/tags/EditorTools
SystemTag: $:/tags/EditPreview
SystemTag: $:/tags/EditTemplate
SystemTag: $:/tags/EditToolbar
SystemTag: $:/tags/Exporter
SystemTag: $:/tags/Filter
SystemTag: $:/tags/Global
SystemTag: $:/tags/Global/View
SystemTag: $:/tags/Global/View/Body
SystemTag: $:/tags/Image
SystemTag: $:/tags/ImportPreview
SystemTag: $:/tags/KeyboardShortcut
SystemTag: $:/tags/Layout
SystemTag: $:/tags/Macro
SystemTag: $:/tags/Macro/View
SystemTag: $:/tags/Macro/View/Body
SystemTag: $:/tags/Manager/ItemMain
SystemTag: $:/tags/Manager/ItemSidebar
SystemTag: $:/tags/MoreSideBar
SystemTag: $:/tags/MoreSideBar/Plugins
SystemTag: $:/tags/PageControls
SystemTag: $:/tags/PageTemplate
SystemTag: $:/tags/Palette
SystemTag: $:/tags/PluginLibrary
SystemTag: $:/tags/RawMarkup
SystemTag: $:/tags/RawMarkupWikified
SystemTag: $:/tags/RawMarkupWikified/BottomBody
SystemTag: $:/tags/RawMarkupWikified/TopBody
SystemTag: $:/tags/RawMarkupWikified/TopHead
SystemTag: $:/tags/RawStaticContent
SystemTag: $:/tags/RemoteAssetInfo
SystemTag: $:/tags/SearchResults
SystemTag: $:/tags/ServerConnection
SystemTag: $:/tags/SideBar
SystemTag: $:/tags/SideBarSegment
SystemTag: $:/tags/StartupAction
SystemTag: $:/tags/StartupAction/Browser
SystemTag: $:/tags/StartupAction/Node
SystemTag: $:/tags/Stylesheet
SystemTag: $:/tags/TagDropdown
SystemTag: $:/tags/TextEditor/Snippet
SystemTag: $:/tags/TiddlerInfo
SystemTag: $:/tags/TiddlerInfo/Advanced
SystemTag: $:/tags/TiddlerInfoSegment
SystemTag: $:/tags/ToolbarButtonStyle
SystemTag: $:/tags/TopLeftBar
SystemTag: $:/tags/TopRightBar
SystemTag: $:/tags/ViewTemplate
SystemTag: $:/tags/ViewTemplate/Subtitle
SystemTag: $:/tags/ViewToolbar
SystemTags
SystemTiddlers
TabbedExampleType
Table Classes, Captions, Headers and Footers
table-example
Table-of-Contents Macros
Table-of-Contents Macros (Examples)
TableOfContents
Tables in WikiText
Tables in WikiText CSS Utility Classes
tabs Macro
tabs Macro (Examples)
tag Macro
tag Macro (Examples)
tag Operator
tag Operator (Examples)
tag-picker Macro
tag-pill Macro
Tagging
tagging Operator
tagging Operator (Examples)
tags Operator
tags Operator (Examples)
TagTiddlers
tan Operator
tan Operator (Examples)
task
TaskManagementExample
TaskManagementExample (Draggable)
TaskManagementExampleDraggableTemplate
Technical Prose Style
TemplateTiddlers
Ten reasons to switch to TiddlyWiki
Testimonials - Joe Armstrong
Testimonials - Network World
Testimonials - Product Hunt
Text preview
Text-Slicer Edition
TextReference
TextWidget
The Extended Listops Filters
The First Rule of Using TiddlyWiki
Then Filter Run Prefix
Then Filter Run Prefix (Examples)
then Operator
then Operator (Examples)
Third
ThirdOne
ThirdThree
ThirdTwo
thisTiddler Variable
thisTiddler Variable (Examples)
thumbnail Macro
thumbnail Macro (Examples)
Thursday
Tiddler Colour Cascade
Tiddler Commander by Mohammad
Tiddler Fishes.svg
Tiddler Icon Cascade
Tiddler Poster.png
Tiddler Structure
Tiddler Title Policy
TiddlerFields
TiddlerFiles
TiddlerLinks
Tiddlers
TiddlerWidget
TiddlyBucket - Save to AWS or Google Storage
TiddlyChrome by Arlen Beiler
TiddlyClip by buggyjay
TiddlyDesktop
TiddlyDesktop Releases
TiddlyDrive Add-on for Google Drive by Joshua Stubbs
TiddlyFox
TiddlyFox Apocalypse
TiddlyFox Apocalypse.png
Tiddlyhost
Tiddlyhost Logo
TiddlyIE
TiddlyMap Plugin by Felix Küppers
TiddlyMemo by oflg
TiddlyServer by Arlen Beiler
Tiddlyshow by Mohammad
TiddlySpace
TiddlySpot
TiddlyWeb
TiddlyWeb JSON tiddler format
TiddlyWiki
TiddlyWiki Camp Paris
TiddlyWiki Classic.png
TiddlyWiki Cloud
TiddlyWiki European Meetup 2016
TiddlyWiki European Meetup 2017
TiddlyWiki extensions for Sublime Text 3 by roma0104
TiddlyWiki extensions for ViM
TiddlyWiki Hangouts
TiddlyWiki in the Sky for TiddlyWeb
TiddlyWiki Marketplace
TiddlyWiki Marketplace Banner
TiddlyWiki Newsletter
TiddlyWiki Newsletter Badge.png
TiddlyWiki on Firefox for Android Video
TiddlyWiki on Node.js
TiddlyWiki Releases
TiddlyWiki Video Tutorials by Francis Meetze
tiddlywiki.files Files
tiddlywiki.info Files
TiddlyWiki.mp3
TiddlyWiki2ReadMe
TiddlyWiki5
TiddlyWiki5 Versioning
TiddlyWikiClassic
TiddlyWikiFolders
TiddlyWikiLinks
timeline Macro
timeline Macro (Examples)
Timelines by Mohammad
Timimi: WebExtension and Native Host by Riz
Tinka by Andreas Hahn
Title List
title Operator
title Operator (Examples)
Title Selection
titlecase Operator
titlecase Operator (Examples)
TitleField
Todolist by Mohammad
toggle Operator
toggle Operator (Examples)
Transcluded Attribute Values
TranscludeWidget
Transclusion
Transclusion and Substitution
Transclusion Basic Usage
Transclusion in WikiText
transclusion Variable
transclusion Variable (Examples)
Transclusion with Templates
Translate TiddlyWiki into your language
TranslationMechanism
translink Macro
translink Macro (Examples)
Trashbin by Mohammad
tree Macro
tree Macro (Examples)
tree-macro-example-car
tree-macro-example-car-boot
tree-macro-example-car-boot-handle
tree-macro-example-car-boot-lock
tree-macro-example-car-roof
tree-macro-example-car-roof-aerial
tree-macro-example-car-roof-rails
tree-macro-example-house
tree-macro-example-house-attic
tree-macro-example-house-attic-roof
tree-macro-example-house-attic-window
tree-macro-example-house-garden
tree-macro-example-house-garden-lawn
tree-macro-example-house-garden-shed
tree-macro-example-house-kitchen
tree-macro-example-house-kitchen-sink
tree-macro-example-house-kitchen-table
tree-macro-example-house-kitchen-window
TriggeringWidgets
trim Operator
trim Operator (Examples)
TriTarget.org by Devin Weaver
trunc Operator
trunc Operator (Examples)
Tuesday
Tutorials
tv-adjust-heading-level Variable
tv-adjust-heading-level Variable (Examples)
tv-auto-open-on-import Variable
tv-config-static Variable
tv-config-toolbar-class Variable
tv-config-toolbar-class Variable (Examples)
tv-config-toolbar-icons Variable
tv-config-toolbar-icons Variable (Examples)
tv-config-toolbar-text Variable
tv-config-toolbar-text Variable (Examples)
tv-filter-export-link Variable
tv-get-export-image-link Variable
tv-get-export-image-link Variable (Examples)
tv-get-export-link Variable
tv-get-export-path Variable
tv-history-list Variable
tv-show-missing-links Variable
tv-story-list Variable
tv-tiddler-preview Variable
tv-wikilink-template Variable
tv-wikilink-tooltip Variable
tv-wikilink-tooltip Variable (Examples)
tv-wikilinks Variable
tv-wikilinks Variable (Examples)
TW-Scripts by Mohammad
TW2Parser Plugin
TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark
TW5-SingleExecutable by Jed Carty
TWaddle by Matias Goldman
TWCommunitySearch
TWEUM Thumbnail.jpg
Twexe: Single File Tiddlywiki5 executable
Twitter Plugin
twproxy by Steve Gattuso
Typed Blocks in WikiText
Typography
Uninstalling a plugin
Uninstalling a plugin with Node.js
unique Operator
unique Operator (Examples)
UnpackPluginCommand
untagged Operator
untagged Operator (Examples)
untrunc Operator
untrunc Operator (Examples)
unusedtitle Macro
unusedtitle Macro (Examples 1)
unusedtitle Macro (Examples)
UpgradeMechanism
Upgrading
Upgrading TiddlyWiki on Node.js
uppercase Operator
uppercase Operator (Examples)
URI
Using a custom path prefix with the client-server edition
Using Excise
Using HTTPS
Using links to navigate between tiddlers
Using Stamp
Using Stylesheets
Using SVG
Using the external JavaScript template
Using the integrated static file server
Using the read-only single tiddler view
Using TiddlyWiki for GitHub project documentation
Using TiddlyWiki on Node.js
UsingSVG
Utility by Mohammad
Utility Classes
Variable Attribute Values
Variable Usage
Variables
Variables in WikiText
variables Operator
variables Operator (Examples)
variance Operator
variance Operator (Examples)
VarsWidget
VerboseCommand
version Macro
version Macro (Examples)
VersionCommand
Videos
View Template Body Cascade
View Template Title Cascade
ViewWidget
vis.js Timeline by emkay, revived by kixam
Visible Transclusions
Web Developer Tools
WebServer
WebServer Anonymous Access
WebServer API
WebServer API: Delete Tiddler
WebServer API: Force Basic Authentication Login
WebServer API: Get All Tiddlers
WebServer API: Get Favicon
WebServer API: Get File
WebServer API: Get Rendered Tiddler
WebServer API: Get Server Status
WebServer API: Get Tiddler
WebServer API: Get Wiki
WebServer API: Put Tiddler
WebServer Authentication
WebServer Authorization
WebServer Basic Authentication
WebServer Guides
WebServer Header Authentication
WebServer Parameter: admin
WebServer Parameter: anon-username
WebServer Parameter: authenticated-user-header
WebServer Parameter: credentials
WebServer Parameter: csrf-disable
WebServer Parameter: debug-level
WebServer Parameter: host
WebServer Parameter: password
WebServer Parameter: path-prefix
WebServer Parameter: port
WebServer Parameter: readers
WebServer Parameter: required-plugins
WebServer Parameter: root-render-type
WebServer Parameter: root-serve-type
WebServer Parameter: root-tiddler
WebServer Parameter: system-tiddler-render-template
WebServer Parameter: system-tiddler-render-type
WebServer Parameter: tiddler-render-template
WebServer Parameter: tiddler-render-type
WebServer Parameter: tls-cert
WebServer Parameter: tls-key
WebServer Parameter: tls-passphrase
WebServer Parameter: username
WebServer Parameter: writers
WebServer Parameters
Wednesday
What happened to the original TiddlyWiki?
Widdly by Opennota
Widget Attributes
Widget Documentation Style Guide
WidgetMessage: tm-add-field
WidgetMessage: tm-add-tag
WidgetMessage: tm-auto-save-wiki
WidgetMessage: tm-browser-refresh
WidgetMessage: tm-cancel-tiddler
WidgetMessage: tm-clear-password
WidgetMessage: tm-close-all-tiddlers
WidgetMessage: tm-close-all-windows
WidgetMessage: tm-close-other-tiddlers
WidgetMessage: tm-close-tiddler
WidgetMessage: tm-close-window
WidgetMessage: tm-copy-to-clipboard
WidgetMessage: tm-delete-tiddler
WidgetMessage: tm-download-file
WidgetMessage: tm-edit-bitmap-operation
WidgetMessage: tm-edit-text-operation
WidgetMessage: tm-edit-tiddler
WidgetMessage: tm-focus-selector
WidgetMessage: tm-fold-all-tiddlers
WidgetMessage: tm-fold-other-tiddlers
WidgetMessage: tm-fold-tiddler
WidgetMessage: tm-full-screen
WidgetMessage: tm-home
WidgetMessage: tm-http-cancel-all-requests
WidgetMessage: tm-http-request
WidgetMessage: tm-http-request Example - Random Dog
WidgetMessage: tm-http-request Example - Zotero
WidgetMessage: tm-import-tiddlers
WidgetMessage: tm-load-plugin-from-library
WidgetMessage: tm-load-plugin-library
WidgetMessage: tm-login
WidgetMessage: tm-logout
WidgetMessage: tm-modal
WidgetMessage: tm-navigate
WidgetMessage: tm-new-tiddler
WidgetMessage: tm-notify
WidgetMessage: tm-open-external-window
WidgetMessage: tm-open-window
WidgetMessage: tm-perform-import
WidgetMessage: tm-permalink
WidgetMessage: tm-permaview
WidgetMessage: tm-print
WidgetMessage: tm-relink-tiddler
WidgetMessage: tm-remove-field
WidgetMessage: tm-remove-tag
WidgetMessage: tm-rename-tiddler
WidgetMessage: tm-save-tiddler
WidgetMessage: tm-save-wiki
WidgetMessage: tm-scroll
WidgetMessage: tm-server-refresh
WidgetMessage: tm-set-password
WidgetMessage: tm-unfold-all-tiddlers
WidgetMessage: tm-unload-plugin-library
Widgets
Widgets in WikiText
Wiki
WikificationMechanism
WikifyWidget
WikiText
WikiText parser mode transitions
WikiText parser mode: HTML examples
WikiText parser mode: macro examples
WikiText parser mode: transclusion examples
WikiText Parser Modes
Windows HTA Hack
Working with the TiddlyWiki5 repository
Working with the TiddlyWiki5 repository video
Working with TiddlyWiki
Xememex
Xememex Logo
XLSX Utilities Edition
zth Operator
zth Operator (Examples)

AlphaReleases

 17 noviembre 2021 a las 22:58

Here are the details of the alpha releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

Release 5.0.1-alpha

Released 6 diciembre 2013 at 17:53

See GitHub for detailed change history of this release

Improvements

  • Changes to the importing process to enable a smoother Upgrading process
    • Ignores attempts to import plugins that are older than currently installed plugins
    • System tiddlers are now imported as usual
  • If $:/theme isn't defined or refers to a missing tiddler, then fallback through Snow White to Vanilla. This means that empty.html now defaults to Snow White
  • Added support for Block Quotes in WikiText

Bug fixes

  • Fixed bug that was preventing $:/tags/PageControls tiddlers from being reordered

Internal changes

Alternative page layouts

 26 noviembre 2021 a las 12:03

New in: 5.1.23 You can have multiple alternative page layouts and switch between them. To see a list of available layouts and switch between them, use the keyboard shortcut ctrl-shift-L.

Creating an alternative page layout

Creating an alternative layout goes beyond adding or removing features from the default interface and allows you to create an entirely new layout from scratch.

To create an alternative page layout and have the ability to switch to it, you need to create an alternative page template tiddler with the SystemTag: $:/tags/Layout.

This alternative page template can either be a tweaked and modified version of the default page template, or something entirely different. The layout switching mechanism requires that your page template tiddler has the fields name and description, which are used in the listing in the switching user interface.

Amazon Web Services Plugin

 3 julio 2017 a las 20:33

The Amazon Web Services Plugin provides several tools for working with Amazon Web Services:

  • Templates for saving a TiddlyWiki as a single JavaScript file in a ZIP file that can be executed as an AWS Lambda function. In this form, TiddlyWiki is a self contained single file containing both code and data, just like the standalone HTML file configuration
  • Commands that can be used to interact with AWS services, under both the Node.js and Lambda configurations of TiddlyWiki

Anchor Links using HTML

 30 noviembre 2020 a las 6:43

What do they do?

In TiddlyWiki anchor links can help us link to target points and distinct sections within rendered tiddlers. They can help the reader navigate longer tiddler content.

For example this link, Bottom, should take you to the bottom of this tiddler. The "Back to the top" link below should return you back to the top of this tiddler.

Back to the top

How do I make them?

There are only 2 steps to making anchor links.

  • First, create the target point (called an 'anchor') where you want it.
  • Second, add a link to it where the reader might need it.

That's it.

Step 1: Create an 'anchor' (link target)

<a id="#Bottom_of_tiddler"></a>

Step 2: Create a link to the target anchor

<a href="##Bottom_of_tiddler">Bottom</a>
  • Create an <a href> link using exactly the same 'address' value as the target but with double ## characters preceding it.
  • Place this code where it will most help the reader.

The above example can be adapted to work for many situations in TiddlyWiki, such as the table of contents at the top of this tiddler.

Is it really that simple?

Yes, it's that simple. BUT... in TiddlyWiki there are some small differences from standard HTML5 anchor links and some specific TiddlyWiki limitations.

Back to the top

Step 1: Creating the target anchor

  • Unlike standard HTML5, in TiddlyWiki you must put a single # character in front of the target address value that follows the id attribute. (Notice the single # character used in the #Bottom_of_tiddler in Example 1.)
  • Unlike standard HTML5, TiddlyWiki anchor links are case sensitive. In the example above #Bottom_of_tiddler works, but #bottom_of_Tiddler wouldn't.
  • Avoid using the % character in your link, as some browsers have a bug where navigation to anchors containing a % character can sometimes fail (see warning below).
  • Avoid using any whitespace in your link (see note 1 below).
  • Each link address should be unique in the TiddlyWiki. If transclusions create multiple instances of the same id attribute, navigation will take place to the first instance found that satisfies the above criteria. To avoid this, you can use the qualify macro in both the id and the href attributes in a similar style to the example given below: Avoiding duplicate IDs when transcluding.

Step 2: Creating the link to the target

  • Remember that the href value should start with two # characters, one more than the id value of the target anchor.
  • Remember that TiddlyWiki anchor links are case sensitive

Step 3: Navigating to the target

Normally you can click on the link and TiddlyWiki will scroll the window so the target anchor is at the top of the window, but there are several limitations:

  • Anchor links in TiddlyWiki do not work if the tiddler is not in the Story River, or is not displayed in the sidebar.
  • Anchor links in TiddlyWiki do not work if the tidlder is in the Story River or sidebar but anchor marked target point is not visible on the page (e.g., the tiddler is folded or the anchor is within a non-displaying $reveal widget). Ctrl+Click on such an anchor link will open a new browser window/tab loading the base web page and will not navigate to the expected tiddler.
  • Anchor links in Tiddlywiki do not work if Control Panel > Appearance > Story View is set to Zoomin (the single page view) and the tiddler is not at the top of the story river (i.e. not displayed).
  • When an anchor link is clicked the browser's navigation history will be updated with the link's href value appended to the web page's URL. This will happen even if the Control Panel > Settings > Navigation History value is set to "Do not update history".
Note
1. The HTML5 specification for the id attribute says that its value should not contain any whitespace. Currently (Dec 2020) an id value with whitespace can sometimes work. However, it may not work in all browsers and is not guaranteed to work in the future.

Some browsers may fail to navigate to an anchor target whose id value includes a % character followed by 2 digits. This is a bug in the browser and nothing that TiddlyWiki can fix. To be safe, avoid using the % character.

Back to the top

More examples

In each case the target code is placed at the destination the reader navigates to, the link code is placed where it will help the reader navigate from.

<h2 id="#heading-01"> My Target Heading</h2>

<a href="##heading-01">Link to My Target Heading</a>

This looks like:


My Target Heading

Link to My Target Heading


<section id="#unique001">

!! My Target section

A `<section>` HTML tag is generally used to define sections in an HTML document, such as chapters, headers, footers, or any other sections of the document.
</section>

Clicking this anchor link goes to: <a href="##unique001">Link to My Target Section</a>

This looks like:


My Target section

A <section> HTML tag is generally used to define sections in an HTML document, such as chapters, headers, footers, or any other sections of the document.

Clicking this anchor link goes to: Link to My Target Section


Back to the top

Suggestions for HTML elements to use

Some suggestions for the HTML element you choose for marking a position using the id attribute:

Element Sample code Observations
anchor<a id="#part001-of-TiddlerName"></a>Should work perfectly everywhere
heading<h2 id="#a-new-heading">A New Heading</h2>Headings can have id attributes as well
section<section id="#sect001-of-TiddlerName">This is a new section</section>If you use the section element it should probably have an id of its own
span<span id="#007">Marker 007 is here!</span>span elements can be used to insert an id mid-paragraph

Back to the top

Suggestions for target names to use

Sample code Observations
Recommended<a id="#part001-of-TiddlerName"></a>Include the tiddler name for easy unique ids
Avoid: whitespace<h2 id="#0 0 1">A New Heading</h2>Whitespace is not guaranteed to work in all browsers
Avoid: %<section id="#sect001%20of%20TiddlerName">This is a new section</section>URI encoding (turning space into %20 and so on) may not work in some browsers
Avoid: duplicate IDs<span id="#007">Marker 007 is here!</span>id values should be unique within entire wiki
Avoid: duplicate IDs<a id="#007"></a>A different marker 007If id values are duplicated, one will be ignored

Back to the top

Avoiding duplicate IDs when transcluding

The id and anchor link to this header has been made as follows:

<a href=<<qualify "##qualify-example">>>Avoiding duplicate IDs when transcluding</a>

<h2 id=<<qualify "#qualify-example">>>Avoiding duplicate IDs when transcluding</h2>
For this to work:
  • The href and id values use the macro invocation syntax for attributes, using the qualify Macro to create a unique id value.
  • Both the id and the anchor link must be in the same tiddler.
  • There must not be any quote characters between the = and the <<.
  • The double quotes around the target name are optional, but recommended.
  • There should be a total of three > characters after the target name, two >> to close the <<qualify macro, and one > to close the <a tag.

Back to the top

Style Hints

If you don't want the link to look like an external link, give the <a> element's class attribute the value tc-tiddlylink and if you want the link to also be italic & bold, give the additional classes tc-tiddlylink-missing tc-tiddlylink-shadow like below:

<a class="tc-tiddlylink" href="##Introduction:Anchor-Links-using-HTML">Back to the top</a> or just back to <a class="tc-tiddlylink tc-tiddlylink-missing tc-tiddlylink-shadow" href=<<qualify ##Hints>>>Hints</a>.

Back to the top or just back to Style Hints.

If you want to include an id attribute to a link in your sidebar Table of Contents, you can include it in your listed tiddler's caption field similar to the way shown below:

<span id=#some-value>Your caption</span>

Back to the top

append Operator

 8 noviembre 2015 a las 5:15
purposeappend a range of items from an array to the list
inputa list of items
suffixan integer N, defaulting to all
parameterlist = the array of items to be appended to the tail of the list
outputa list with items appended from the head of the operand array
! outputa list with items appended from the tail of the operand array

Learn more about how to use Filters

append Operator (Examples)

 8 noviembre 2015 a las 5:15

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]append[Tomorrow]]

[list[Days of the Week]append[Yesterday Today Tomorrow]]

Append the first 4 short days of the week to our list

[list[Days of the Week]append:4{Days of the Week!!short}]

Apple

 27 febrero 2022 a las 21:08

This example tiddler is used to illustrate some of the Filter Operators.

It has a list field containing the following items:

applypatches Operator

 4 marzo 2023 a las 15:48
purposeapplies a set of patches to transform the input
inputa selection of titles
parameterP = a string containing patches from the makepatches Operator
outputthe transformed input to which the patches P have been applied

Learn more about how to use Filters

Artículos

 13 abril 2016 a las 17:15

Estos son algunos artículos recientes publicados sobre TiddlyWiki.

Envía nuevos artículos que encuentres via GitHub o Twitter, o publícalas en el grupo

asin Operator

 21 octubre 2021 a las 23:28
purposecalculate the arcsine value (in radians) of a list of numbers
inputa selection of titles
outputthe arcsine (in radians) of the input numbers

Learn more about how to use Filters

New in: 5.1.21 See Mathematics Operators for an overview.

This is the inverse operation of sin: sin calculate the sine of an angle (in radian), but asin calculate the angle (in radian) of a sine.

Examples

asin Operator (Examples)

 20 octubre 2021 a las 15:27

[[2]asin[]]

=1 =2 =3 =4 +[asin[]]

atan Operator

 21 octubre 2021 a las 23:28
purposecalculate the arctangent value (in radians) of a list of numbers
inputa selection of titles
outputthe arctangent (in radians) of the input numbers

Learn more about how to use Filters

atan Operator (Examples)

 20 octubre 2021 a las 15:13

[[2]atan[]]

=1 =2 =3 =4 +[atan[]]

atan2 Operator

 21 octubre 2021 a las 23:28
purposereturns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y), for [Y]atan2[X]
inputa selection of titles = coordinate Y (Y)
parameterX = coordinate X
outputthe angle in radians (in [ - π , π ] ) between the positive x-axis and the ray from (0,0) to the point (x,y)

Learn more about how to use Filters

atan2 Operator (Examples)

 20 octubre 2021 a las 15:08

[[2]atan2[5]]

=1 =2 =3 =4 +[atan2[4]]

Attribute Selectors

 11 abril 2018 a las 18:39
[attr]
Represents an element with an attribute name of attr.
[attr="value"]
Represents an element with an attribute name of attr and whose value is exactly "value".
[attr~="value"]
Represents an element with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly "value".
[attr|="value"]
Represents an element with an attribute name of attr. Its value can be exactly “value” or can begin with “value” immediately followed by “-” (U+002D). It can be used for language subcode matches.
[attr^="value"]
Represents an element with an attribute name of attr and whose first value is prefixed by "value".
[attr$="value"]
Represents an element with an attribute name of attr and whose last value is suffixed by "value".
[attr*="value"]
Represents an element with an attribute name of attr and whose value contains at least one occurrence of string "value" as substring.
[attr "operator value" i]
Adding an i (or I) before the closing bracket causes the value to be compared case-insensitively (for characters within the ASCII range).

Learn more at: Attribute selectors - CSS or CSS-Specification

Audio en TiddlyWiki

 28 abril 2016 a las 16:38

Se pueden incorporar archivos de audio a TiddlyWiki de manera muy similar a como se hace con imágenes.

Audio incrustado

Se pueden incrustar pequeños archivos de audio directamente en TiddlyWiki. No es conveniente hacerlo con archivos grandes (de más de unos pocos cientos de Kb), porque aumenta el tamaño del archivo de ~Tiddlywiki.

Veamos un ejemplo: el tiddler TiddlyWiki.mp3 contiene la grabación de la palabra "TiddlyWiki" en inglés. Si abres el tiddler, verás un pequeño reproductor de audio que te permitirá oirlo.

Por supuesto, como ocurre con cualquier otro tiddler, puedes hacer la transclusión de su contenido:

{{TiddlyWiki.mp3}}

Este es su aspecto:

Audio externo

Un tiddler de audio externo usa el campo _canonical_uri para apuntar al origen externo de un archivo o stream de audio y bloquear el campo Text. Esto reduce considerablemente su tamaño a la vez que nos sigue permitiendo su reproducción.

Otro ejemplo: el tiddler Caruso - Ave Maria apunta a un archivo online almacenado en http://archive.org:

{{Caruso - Ave Maria}}

Este es su aspecto:

Guardado automático

 28 abril 2016 a las 16:52

Si hay un SaverModule disponible que lo permita, TiddlyWiki guardará el documento en su estado actual en cuanto se pulsen los botones Vale o Borrar

Debieras ver entonces una notificación amarilla en la esquina superior derecha de la ventana que confirma que se ha realizado el guardado.

Se puede activar y desactivar el guardado automático en la pestaña Configuración del panel de control. Entre bambalinas, se controla mediante el tiddler de configuración $:/config/AutoSave, que en su cuerpo indica con los valores o No si activa el autoguardado.

average Operator

 26 abril 2021 a las 14:15
purposetreating each input title as a number, compute their arithmetic mean
inputa selection of titles
outputthe arithmetic mean of the input as numbers

Learn more about how to use Filters

average Operator (Examples)

 26 abril 2021 a las 14:15

=1 =3 =4 =5 +[average[]]

Note that if there is no input the operator returns NaN

[tag[NotATiddler]get[price]] +[average[]]

backlinks Operator

 3 febrero 2015 a las 18:33
purposefind the titles that link to each input title
inputa selection of titles
parameternone
outputany non-system titles that contain hard links to the input titles

Learn more about how to use Filters

Each input title is processed in turn. The corresponding tiddler's list of backlinks is generated, sorted alphabetically by title, and then dominantly appended to the operator's overall output.

Examples

backlinks Operator (Examples)

 18 enero 2015 a las 18:31

[[HelloThere]backlinks[]]

[tag[TableOfContents]backlinks[]]
→ tiddlers that link to tiddlers tagged TableOfContents

[all[current]backlinks[]]
→ tiddlers that link to this one

Base64

 21 febrero 2015 a las 18:17

Base64 is a way of representing binary data, such an image, as a string of text.

before Operator

 3 febrero 2015 a las 19:19
purposefind which input title precedes a specified one
inputa selection of titles
parameterT = one of those titles
outputthe title that immediately precedes T in the input

Learn more about how to use Filters

If T is not present in the input, or is the first title there, then the output is empty.

Examples

before Operator (Examples)

 18 enero 2015 a las 18:31

These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.

[list[Days of the Week]before[Saturday]]

[list[Days of the Week]before[Monday]]

Behaviour of invoked variables depends on how the variable was declared

 26 julio 2023 a las 15:57

Invoked in normal wikitext context: <$transclude $variable=macro/> or <<macro>>

how declaredbehaviour
\defineAll wikitext and variable substitution and textual substitution takes place
$set, $let, $vars, \procedure, \widgetAll wikitext and variable substitution takes place
\functionInvoking a function in this way (<<macro>>) is a synonym for <$text text={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded

Invoked via widget attribute: <div class=<<macro>>/>

how declaredbehaviour
\defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value
$set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the attribute's value.
\functionWhen a function is invoked as <div class=<<macro>>/>, it is a synonym for <div class={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue

Invoked via filter operator parameter: [<macro>]

how declaredbehaviour
\defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.
$set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the filter operator's parameter.
\functionThe body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded.

Invoked via function call in a filter expression: [function[macro]]

how declaredbehaviour
\define, $set, $let, $vars, \procedure, \widgetEvery function is a variable, but only variables defined using \function are invokable using the function filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.
\functionThe body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.

Examples

Below is an example macro, procedure and function definition. All three forms of parameter substitution $a1$, <<__a1__>>, and <<a1>> are included in each definition. The output helps illustrate when each form of substitution will or will not have affect.

\define m1(a1) $a1$ - <<__a1__>> - <<a1>>
\procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
\function f1(a1) $a1$ "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
Variable transclusionoutput
<<m1 foo>>foo - foo -
<<p1 foo>>$a1$ - - foo
<<f1 foo>>$a1$ - - foo
Widget attributeoutput
<$text text=<<m1 foo>>/>foo - <<__a1__>> - <<a1>>
<$text text=<<p1 foo>>/>$a1$ - <<__a1__>> - <<a1>>
<$text text=<<f1 foo>>/>$a1$ - - foo
Filter operator parameteroutput
[<m1 foo>]foo - <<__a1__>> - <<a1>>
[<p1 foo>]$a1$ - <<__a1__>> - <<a1>>
[<f1 foo>]$a1$ - - foo
Function call in filter expressionoutput
[function[m1],[foo]]"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
[function[p1],[foo]]"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
[function[f1],[foo]]$a1$ - - foo

Behaviour of variables invoked via filter expression function call

 26 julio 2023 a las 16:06
how declaredbehaviour
\define, $set, $let, $vars, \procedure, \widgetEvery function is a variable, but only variables defined using \function are invokable using the function filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.
\functionThe body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.

Behaviour of variables invoked via filter operator parameter

 26 julio 2023 a las 16:06
how declaredbehaviour
\defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.
$set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the filter operator's parameter.
\functionThe body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded.

Behaviour of variables invoked via normal wikitext

 26 julio 2023 a las 16:06
how declaredbehaviour
\defineAll wikitext and variable substitution and textual substitution takes place
$set, $let, $vars, \procedure, \widgetAll wikitext and variable substitution takes place
\functionInvoking a function in this way (<<macro>>) is a synonym for <$text text={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded

Behaviour of variables invoked via widget attributes

 26 julio 2023 a las 16:06
how declaredbehaviour
\defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value
$set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the attribute's value.
\functionWhen a function is invoked as <div class=<<macro>>/>, it is a synonym for <div class={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue

BetaReleases

 17 noviembre 2021 a las 23:01

Here are the details of the beta releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

Release 5.0.18-beta

Released 17 septiembre 2014 at 22:10

See GitHub for detailed change history of this release

This is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).

File Layout of tiddlywiki.com

The layout of files on tiddlywiki.com has been adjusted to make it more logical. See the ticket for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com

Hackability Improvements

  • Added first iteration of a list-links macro (further improvements are planned)
  • Added support for importing .markdown and .md files
  • Extended timeline macro to support a subfilter

Bug Fixes

  • Fixed problem with digits being classified as lower case letters for wiki link matching
  • Fixed crash when sorting missing tiddlers by fields other than title
  • Fixed problem with handling .jpeg file extensions
  • Fixed problem with RadioWidget and missing tiddlers
  • Fixed problem with dragging a partially selected link

Contributors

@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

bf Operator

 3 febrero 2015 a las 18:37
purposesame as rest

Learn more about how to use Filters

Block Mode WikiText

 22 enero 2022 a las 18:28

Some WikiText is recognised only while the parser is in block mode.

Common characteristics of such block mode WikiText:

  • At least one entire line is required to delimit the WikiText.
  • The closing punctuation must come at the end of the line (in some cases the end of the line is the closing punctuation.
WikiTextPunctuation
Block Quotes in WikiTextMulti-line block quotes are enclosed by lines containing only the text <<<; single line block quotes are also possible.
Code Blocks in WikiTextEnclosed by lines containing only the text ```
Definitions in WikiTextEach term is on its own line and each definition is on its own line.
Hard Linebreaks in WikiTextEnclosed by lines containing only the text """.
Headings in WikiTextEntire line starting with !.
Horizontal Rules in WikiTextA line containing only the text ---.
Lists in WikiTextEach list item is on its own line.
Paragraphs in WikiTextAny text other than the start punctuation of one of the other block mode WikiText will start a paragraph. Even the start punctuation of inline mode WikiText will start a paragraph. The parser includes all following lines into the paragraph until it encounters a blank line.
Styles and Classes in WikiTextEnclosed by lines starting with @@.
Tables in WikiTextEach table row is a line starting and ending with |.
Typed Blocks in WikiTextEnclosed by lines starting with $$.

The above WikiText types are only recognised in block mode. However, the text enclosed by most of them will be parsed in inline mode (Block Quotes in WikiText and Styles and Classes in WikiText are the two exceptions in which the parser will continue in block mode). While in inline mode the parser may encounter something which moves it to block mode (see WikiText parser mode transitions).

At the end of the terminating line, the parser will return to block mode.

Note: Hard Linebreaks in WikiText require an extra blank line after the trailing """ before the parser will return to block mode
.

If the punctuation for the above types of WikiText is encountered while the parser is in inline mode, it will be ignored and output as-is.

Examples

Block Mode WikiText (Examples)

 15 enero 2022 a las 16:10

Paragraphs are the most common WikiText. It is important to know they do not end until a blank line is encountered. Once a paragraph starts the parser will be in inline mode. Until that blank line is encountered other block mode syntax will be ignored:

This is a paragraph.
Only __//inline mode//__ punctuation is recognised here.
Block mode punctuation will be <b>ignored</b> until
the paragraph ends (i.e. a blank line is encountered).
For example:
* List item punctuation is ignored
* So is this horizontal rule:
---
|tables|are|ignored|
! headings are ignored
<<<
multi-line block quotes are ignored
<<<

Este es su aspecto:

This is a paragraph. Only inline mode punctuation is recognised here. Block mode punctuation will be ignored until the paragraph ends (i.e. a blank line is encountered). For example: * List item punctuation is ignored * So is this horizontal rule: — |tables|are|ignored| ! headings are ignored <<< multi-line block quotes are ignored <<<

To get the parser to recognise the above block mode WikiText, a blank line needs to be inserted after the "For example:" line. The blank line will be treated as the end of the paragraph and the parser will start recognising block mode punctuation again. Like this:

This is a paragraph.
Only __//inline mode//__ punctuation is recognised here.
Block mode punctuation will be <b>ignored</b> until
the paragraph ends (i.e. a blank line is encountered).
For example, here is a blank line:

* due to above blank line,
* list items work
* the following horizontal rule also works:
---
|!tables|!work|
|cell 1| cell 2|
! Headings work
<<<
multi-line block quotes work
<<<
; Term
: Definition of that term
Another paragraph can start here, but it will not end until blank line

Este es su aspecto:

This is a paragraph. Only inline mode punctuation is recognised here. Block mode punctuation will be ignored until the paragraph ends (i.e. a blank line is encountered). For example, here is a blank line:

  • due to above blank line,
  • list items work
  • the following horizontal rule also works:

tableswork
cell 1cell 2

Headings work

multi-line block quotes work

Term
Definition of that term

Another paragraph can start here, but it will not end until blank line

All the block mode examples above except for the paragraph are written one line after the other without blanks between. Those types of WikiText don't require the extra blank line to terminate.

Block Quotes in WikiText

 17 abril 2017 a las 17:51

There are two ways to produce HTML block quotes in TiddlyWiki5, one for content spread across multiple lines, and one for single line content.

Multi-line Block Quotes

The syntax for multi-line block quotes () is:

<<<
This is a block quoted paragraph
written in English
<<<

Tiene este aspecto:

This is a block quoted paragraph written in English

... y su código HTML es:

<blockquote class="tc-quote"><p>This is a block quoted paragraph
written in English
</p></blockquote>

Citation

A citation can be added to the quote like this:

<<<
Computers are like a bicycle for our minds
<<< Steve Jobs

Tiene este aspecto:

Computers are like a bicycle for our minds

Steve Jobs

... y su código HTML es:

<blockquote class="tc-quote"><p>Computers are like a bicycle for our minds
</p><cite>Steve Jobs</cite></blockquote>

CSS Classes

CSS classes can be added to a block quote:

<<<.myClass.another-class
Operating systems are like a brick wall for our minds
<<< Nobody

Tiene este aspecto:

Operating systems are like a brick wall for our minds

Nobody

... y su código HTML es:

<blockquote class="tc-quote myClass another-class"><p>Operating systems are like a brick wall for our minds
</p><cite>Nobody</cite></blockquote>

The core includes the class tc-big-quote that renders block quotes with outsize double quotes:

<<<.tc-big-quote
A dramatic quote
<<< Somebody Important

Tiene este aspecto:

A dramatic quote

Somebody Important

... y su código HTML es:

<blockquote class="tc-quote tc-big-quote"><p>A dramatic quote
</p><cite>Somebody Important</cite></blockquote>

Single-line Block Quotes

The single-line syntax for block quotes is actually an extension of the syntax for Lists in WikiText. For example:

> Quoted text
> Another line of quoted text

Tiene este aspecto:

Quoted text
Another line of quoted text

... y su código HTML es:

<blockquote><div>Quoted text</div><div>Another line of quoted text</div></blockquote>

You can also nest quotes like this:

> A top quote
>> A subquote
> Another top quote

Which renders as:

A top quote
A subquote
Another top quote

You can also mix block quotes with other list items. For example:

* List One
** List Two
**> A quote
**> Another quote
* List Three

Tiene este aspecto:

  • List One
    • List Two
      A quote
      Another quote
  • List Three

... y su código HTML es:

<ul><li>List One<ul><li>List Two<blockquote><div>A quote</div><div>Another quote</div></blockquote></li></ul></li><li>List Three</li></ul>

Edición Blog

 4 mayo 2016 a las 6:11

Desarrollada para su uso en Node.js, la edición "blog" de TiddlyWiki contiene herramientas para la publicación de blogs estáticos en HTML.

Mientras se prepara la documentación, puedes ver un ejemplo de su uso en http://jermolene.com/

Blurry Lawn.jpg

 

Brackets

 28 julio 2022 a las 16:04

WikiText syntax uses a number of different types of brackets. Their names are shown in the table below:

AppearanceNameShort nameUsage
()Round bracketsParenthesisNot used in WikiText
[]Square bracketsBracketsLinks, Filters
{}Curly bracketsBracesText references, Filtered attributes
<>Angle bracketsChevronsHTML elements and widgets, Macros

Brownies

 6 octubre 2020 a las 19:12

This is a sample shopping list item for the Shopping List Example

Compatibilidad con navegadores

 23 abril 2016 a las 6:55

TiddlyWiki ha sido diseñado para trabajar en navegadores compatibles con HTML5.

La tabla siguiente es un resumen de versiones de los navegadores en los que se sabe que TiddlyWiki funciona correctamente:

NavegadorStatus
Internet ExplorerVersión 10 y superiores
Chromium/ChromeTodas las recientes
FirefoxTodas las recientes
Firefox for AndroidTodas las recientes
SafariVersión 6 y superiores

BrowserStorage Plugin

 6 febrero 2019 a las 18:12

The BrowserStorage Plugin enables TiddlyWiki to save tiddlers in browser local storage. This means that changes are stored within the browser, and automatically re-applied any time the base wiki is reloaded.

Browser local storage is not a panacea for TiddlyWiki:

  • Browsers limit the amount of local storage available to a page, typically to 5 or 10MB
  • Keeping personal data in browser local storage can lead to unexpected privacy violations
  • Browsers reserve the right to without warning delete data stored in local storage at any time
  • Browsers tie local storage to a URL which can lead to problems if you move a wiki to a URL previously occupied by a different wiki

Please use this plugin with caution. There are a number of unresolved issues and open questions.

The BrowserStorage Plugin can be installed from the plugin library.

BrowseWidget

 21 abril 2020 a las 23:13

Introduction

The browse widget displays an HTML file browser button that allows the user to choose one or more files to import. It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers imported from the files up through its parents. This message is usually handled by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.

Content and Attributes

The content of the $BrowseWidget widget is ignored.

AttributeDescription
multipleSet to "multiple" to select multiple file upload
deserializer New in: 5.1.15 Optional name of deserializer to be used (by default the deserializer is derived from the file extension or type)
tooltipOptional tooltip text
accept New in: 5.1.23 Optional comma delimited list of file accepted extensions and/or MIME types
messageOptional override of widget message to be generated. The files will be passed in the JavaScript object event.target.files
paramOptional parameter to be passed with the custom message

On iPhone/iPad choosing the multiple option will remove the ability to take photographs/videos directly into TiddlyWiki.

e.g.

<$browse/>

renders as:

BT

 17 noviembre 2021 a las 19:55

BT (née British Telecom) is the UK's largest telecommunications company. In 2007, Osmosoft was acquired by BT. JeremyRuston subsequently left BT in 2011.

BuildCommand

 27 abril 2014 a las 22:04

Compila los targets que se especifican.
Si no se especifica ninguno, se incluirán todos los disponibles

--build <target> [<target> ...]

Los targets se definen en el archivo tiddlywiki.info

See tiddlywiki.info Files for details of defining build targets.

Building TiddlyWikiClassic

 12 septiembre 2014 a las 15:16

TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:

  • The tiddlywiki/classictools plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x .recipe files
  • The stripcomments format for the ViewWidget, which strips single line JavaScript comments starting //#
  • The stripTitlePrefix='yes' attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the title attribute
    • For example, {tiddler}HelloThere would be transformed to HelloThere

Usage

TiddlyWikiClassic is built from the command line by running TiddlyWiki on Node.js. A typical usage would be:

node ../../tiddlywiki.js \
	--verbose \
	--load <path_to_recipe_file> \
	--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \
	|| exit 1

butfirst Operator

 3 febrero 2015 a las 18:37
purposesame as rest

Learn more about how to use Filters

butlast Operator

 26 febrero 2022 a las 4:33
purposediscard the last N input titles
inputa selection of titles
parameterN = an integer, defaulting to 1
outputall but the last N input titles

Learn more about how to use Filters

New in: 5.2.2 The butlast operator returns the input list unchanged if N is 0. This is consistent with the behaviour of the rest Operator.

Examples

butlast Operator (Examples)

 26 febrero 2022 a las 4:33

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]butlast[]]

[list[Days of the Week]butlast[0]]

[list[Days of the Week]butlast[2]]

A B C D E F G H I J K L M +[butlast[7]]

ButtonWidget

 4 octubre 2023 a las 23:10

Introduction

The button widget displays an HTML <button> element that can perform a combination of optional actions when clicked:

  • Executing any ActionWidgets passed in the actions attribute
  • Executing any ActionWidgets that are immediate children of the button widget
  • Execute any integrated actions:
    • Navigate to a specified tiddler
    • Dispatch a user defined widget message
    • Trigger a user defined popup
    • Assign new text to a specified tiddler

The integrated actions are provided as a shortcut for invoking common actions. The same functionality is available via ActionWidgets, with the exception of the support for highlighting selected popups.

Content and Attributes

The content of the <$button> widget is displayed within the button.

AttributeDescription
actionsA string containing ActionWidgets to be triggered when the key combination is detected. New in: 5.1.23 the modifier variable lists the modifier keys that are pressed when the action is invoked. The possible modifiers are ctrl, ctrl-alt, ctrl-shift, alt, alt-shift, shift and ctrl-alt-shift
toThe title of the tiddler to navigate to
messageThe name of the widget message to send when the button is clicked
paramThe optional parameter to the message
setA TextReference to which a new value will be assigned
setTitleA title to which a new value will be assigned, without TextReference. Gets preferred over set
setFieldA field name to which the new value will be assigned, if the attribute setTitle is present. Defaults to the text field
setIndexAn index to which the new value will be assigned, if the attribute setTitle is present
setToThe new value to assign to the TextReference identified in the set attribute or the text field / the field specified through setField / the index specified through setIndex of the title given through setTitle
selectedClassAn optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in set already has the value specified in setTo
defaultDefault value if set tiddler is missing for testing against setTo to determine selectedClass
popupTitle of a state tiddler for a popup that is toggled when the button is clicked. See PopupMechanism for details
popupTitleTitle of a state tiddler for a popup that is toggled when the button is clicked. In difference to the popup attribute, no TextReference is used. See PopupMechanism for details
popupAbsCoords New in: 5.2.4 If set to yes writes absolute coordinates to the tiddler referenced by the popup. If set to no (the default) uses relative coordinates. See Coordinate Systems for details
aria-labelOptional Accessibility label
tooltipOptional tooltip
classAn optional CSS class name to be assigned to the HTML element
data-* New in: 5.3.2 Optional data attributes to be assigned to the HTML element
styleAn optional CSS style attribute to be assigned to the HTML element
tagAn optional html tag to use instead of the default "button"
dragTiddlerAn optional tiddler title making the button draggable and identifying the payload tiddler. See DraggableWidget for details
dragFilterAn optional filter making the button draggable and identifying the list of payload tiddlers. See DraggableWidget for details
tabindexSets the tabindex attribute of the button to the given value
disabled New in: 5.1.23 Optional, disables the button if set to "yes". Defaults to "no"

Note: In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to transclude the value currently stored there. However, when we use a TextReference as the value of a button widget's set attribute, we are referencing the storage location itself, rather than the value stored there, so we do not use curly brackets there. Example: we could code a button widget that sets the caption field of TiddlerA to be the same as that of TiddlerB as:

New in: 5.1.18 setTitle, setField and setIndex attributes allow specifying Tiddler states directly, without interpreting them as TextReferences. This is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (!!, ##)

<$button set="TiddlerA!!caption" setTo={{TiddlerB!!caption}} >

Press me!

</$button>

Tip: Set class to tc-btn-invisible tc-tiddlylink to have a button look like an internal link.

CamelCase

 24 abril 2016 a las 6:33

El CamelCase se forma tomando una frase, poniendo la inicial de cada palabra en mayúscula y pegando una palabra a la otra, sin espacios. Esto hace que visualmente al texto le salgan jorobas y de ahí el nombre.

La mayoría de wikis usan CamelCase como una forma rápida de crear hipertexto.

Caruso - Ave Maria

 

Cascade Filter Run Prefix

 30 noviembre 2021 a las 12:15

New in: 5.2.1

purposemodify input titles by evaluating in turn a list of filters - as returned by the filter expression for this run - for each input title.
inputall titles from previous filter runs
outputthe input titles as modified by the filters returned by this filter run

The filter expression for this filter run is evaluated to return a list of filters. Each input title is then evaluated against each of the filters in turn, and the input title is replaced with the first result of the first filter that returns a non-empty list. If none of the filters return a result for an input title, it is replaced with an empty string.

The following variables are available within the filter run:

  • currentTiddler - the input title
  • ..currentTiddler - the value of the variable currentTiddler outside the filter run.

Examples

Cascade Filter Run Prefix (Examples)

 4 diciembre 2021 a las 1:09

The :cascade filter run prefix is used by the TiddlyWiki core to choose the colour for each tiddler as used in the tag pill generated by the tag macro.

:cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]]

The filter expression inside the above :cascade filter run returns a list of filters from the text fields of tiddlers tagged as shown below:

  • [has[color]then{!!color}]
  • [tag[TableOfContents]then[#1e90ff]]
    [tag[Working with TiddlyWiki]then[darkorchid]]
    
  • [[$:/config/DefaultTiddlerColour]has[text]get[text]trim[]]

For each input title, each of these filters is now applied to in turn until the first filter that returns a non-empty list. The first result from this non-empty list replaces that input title and is used as the colour for that tiddler.

[all[shadows+tiddlers]] :cascade[all[shadows+tiddlers]tag[$:/tags/TiddlerColourFilter]!is[draft]get[text]] +[!is[blank]limit[10]]

Extended example

This example illustrates step-by-step how the :cascade filter run works.

A filter expression whose output returns a list of filters is required. Typically such a filter expression will construct the list of filters by querying some field in a set of tiddlers (likely via tag). To keep this example self-contained, 3 filters are stored in the filter1, filter2 and filter3 fields of this tiddler. Text references and instances of the append operator are used to combine the fields into a list of filters.

The filter [{!!filter1}append{!!filter2}append{!!filter3}], generates this list of filters:

  • [prefix[ca]then[ca]]
  • [suffix[at]then[at]]
  • other

For this example, cat can bat bug will be used as the input titles. Each input title will be evaluated by :cascade against each of the above filters in turn. To help understand what :cascade sees internally, the following table uses the Map Filter Run Prefix to show the result of each individual filter.

cat can bat bug :map[prefix[ca]then[ca]]
cat can bat bug :map[suffix[at]then[at]]
cat can bat bug :map[[other]]

Click "Try it" on the above 3 examples. The first non-blank value from each row as read from left to right will be returned when :cascade is used. Click "Try it" below to see the final result:

cat can bat bug :cascade[{!!filter1}append{!!filter2}append{!!filter3}]

Cascades

 6 diciembre 2021 a las 16:47

Introduction

Cascades are a key mechanism used to construct and customise TiddlyWiki's user interface.

See Customising TiddlyWiki's user interface for an overview of all the customisation mechanisms

How cascades work

Cascades provide a means to select one of multiple values based on flexible, extensible criteria. They can be thought of as a list of conditions that are evaluated in turn until one of them matches.

Each cascade is defined by a special tag which identifies the tiddlers containing the conditions to be matched. The Order of Tagged Tiddlers determines the order in which the conditions are processed, and provides the means for arranging new rules at specific points in the cascade.

The conditions are defined by a Filter Expression in the text field. The filters are evaluated with the list of input titles set to the title of the tiddler to be considered. The currentTiddler variable is also set to the title of the tiddler to be considered.

If the filter returns no result then that result will be ignored and the cascade proceeds to test the next condition. If the filter expression does return at least one result then it serves as the result of the entire cascade.

The Cascade Filter Run Prefix provides the implementation of the underlying logic.

Example

The Story Tiddler Template Cascade contains the logic for determining a tiddler should be displayed as an editable draft or in view mode. By default, it consists of two tiddlers containing the following list of rules:

  1. [is[draft]then{$:/config/ui/EditTemplate}] – if it is a draft tiddler, use the template title given in the tiddler $:/config/ui/EditTemplate
  2. [{$:/config/ui/ViewTemplate}]  – otherwise, use the template title given in the tiddler $:/config/ui/ViewTemplate

Usage in the core

The TiddlyWiki core uses cascades to choose the following elements:

Story Tiddler Template CascadeThe template used to display a particular tiddler in the story river. By default, the edit template is chosen for draft tiddlers, and the view template for others
Tiddler Icon CascadeThe optional icon associated with a particular tiddler (displayed alongside the title)
Tiddler Colour CascadeThe optional colour associated with a particular tiddler (used to colour the tiddler icon and if the tiddler is used as a tag also provides the colour for the tag pill)
View Template Title CascadeThe template used to display the title of a particular tiddler (used by the default view template to display the tiddler title)
View Template Body CascadeThe template used to display the view mode body of a particular tiddler (used by the default view template to display the tiddler body)
Edit Template Body CascadeThe template used to display the edit mode body of a particular tiddler (used by the default edit template to display the tiddler body editor)
Field Editor CascadeThe template used to display the edit mode of a tiddler field (used by the default edit template to display the field editor)

You can see the current settings for each cascade in $:/ControlPanel under the Info -> Advanced -> Cascades tab.

See Also

Cascading Style Sheets

 21 febrero 2015 a las 18:17

CSS is a standard plain-text format used for defining the presentational style of the various elements on a web page.

ceil Operator

 11 junio 2019 a las 18:44
purposerounds a list of numbers up to the next largest integer
inputa selection of titles
outputrounds each of the input numbers up to the next largest integer

Learn more about how to use Filters

ceil Operator (Examples)

 11 junio 2019 a las 18:45

[[1.6]ceil[]]

[[-1.6]ceil[]]

=-1.2 =-2.4 =3.6 =4.8 =5.1 +[ceil[]]

changecount Macro

 21 diciembre 2022 a las 17:45

The changecount macro returns the number of times the current tiddler has been created, stored or deleted during the current TiddlyWiki session.

If a tiddler is deleted and subsequently recreated, its changecount will be increased by two.

Parameters

(none)

Examples

changecount Macro (Examples)

 21 febrero 2015 a las 15:12

<<changecount>>

The value will increase if you edit this tiddler and store it again, even without making any changes to its content.

To access the changecount of a different tiddler, use a $tiddler widget:

<$tiddler tiddler="Draft of 'New Tiddler'">
<<changecount>>
</$tiddler>

The value shown will increase whenever you create, store or delete New Tiddler.

Changes to filters in 5.0.9-beta

 3 abril 2014 a las 23:35

Introduction

This release resolves a number of inconsistencies with the way that filters are handled. The changes mean that existing filters may need to be updated - particularly those that must deal with missing or shadow tiddlers.

Changes to is and addition of all

Most filter operators act by choosing some or all of their source titles to pass through or re-order. Those that add new entries that are not drawn from the source list are referred to as selectors. Prior to 5.0.9-beta, a few filter operators were inconsistent in whether they filtered from the source list or selected new entries into it.

The specific changes are:

  • The is operator now always strictly filters from the currently selected list of tiddlers
  • The new all operator acts as a selector by replacing the current list with a combination of tiddlers from specific sources:
    • current for the current tiddler
    • missing for all missing tiddlers
    • orphans for all orphan tiddlers
    • shadows for all shadow tiddlers
    • tiddlers for all non-shadow tiddlers (including both system and non-system tiddlers)

The sources for the all operator can be combined with the + character. For example, [all[shadows+tiddlers]] returns all shadow tiddlers and all ordinary tiddlers.

Previously, it was common to have [is[shadow]] at the start of a filter string to select all the shadow tiddlers. In 5.0.9 and above, this will not return all the shadow tiddlers, but instead just those ordinary tiddlers that are also shadow tiddlers (by virtue of having overridden one). The resolution is to use the new all operator. For example, consider this filter from 5.0.8:

[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]

In 5.0.9, that filter has been changed to:

[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]

Note how the all operator allows operations to be performed on tiddlers from combinations of sources.

Changes to [is[current]]

One result of the changes is that [is[current]] now strictly filters from the source tiddlers; so, if the current tiddler is a missing tiddler not in the source list, then [is[current]] will return an empty list.

The solution is generally to use [all[current]] instead. It doesn't read as well, but has the required behaviour of returning just the current tiddler, regardless of whether it is in the source tiddlers.

Changes to title and field

There are minor changes to the way that the title and field operators work.

The title operator is a selector: it returns the specified title regardless of whether it is in the current source. title is used as the default operator if none is specified

The field operator is a filter: it only returns a subset of the source tiddlers. field is used as the default operator if the supplied operator is not defined (the supplied operator is passed as the suffix to the field operator, so [description[Missing]] is equivalent to [field:description[Missing]]).

charcode Operator

 22 junio 2021 a las 22:44
purposegenerates string characters from their numeric character codes
inputignored
parameterC = numeric character code
outputa string formed from concatenating the characters specified by the numeric codes given in the operand(s)

Learn more about how to use Filters

New in: 5.2.0

This operator returns a string formed from concatenating the characters specified by the numeric codes given in one or more operands. It is useful for generating special characters such as tab (charcode[9]) or new line (charcode[13],[10]).

Examples

charcode Operator (Examples)

 22 junio 2021 a las 22:48

[charcode[65]match[A]]

CheckboxWidget

 16 marzo 2023 a las 19:26

Introduction

The checkbox widget displays an HTML <input type="checkbox"> element that is dynamically bound to either:

  • the presence or absence of a specified tag on a specified tiddler
  • the value of a specified field of a specified tiddler

Content and Attributes

The content of the <$checkbox> widget is displayed within an HTML <label> element immediately after the checkbox itself. This means that clicking on the content will toggle the checkbox.

AttributeDescription
tiddlerTitle of the tiddler to manipulate (defaults to the Current Tiddler)
The name of the tag to which the checkbox is bound
invertTagWhen set to yes, flips the tag binding logic so that the absence of the tag causes the checkbox to be checked
The name of the field to which the checkbox is bound
New in: 5.2.3 The name of the field that contains the list to which the checkbox is bound
New in: 5.1.14 The property of the DataTiddler to which the checkbox is bound
New in: 5.2.3 Like index, but treats the value as a list the same way that listField does
New in: 5.2.3 A filter whose output determines the checked state of the checkbox
checkedThe value of the field corresponding to the checkbox being checked
uncheckedThe value of the field corresponding to the checkbox being unchecked
defaultThe default value to use if the field is not defined
Whether ambiguous values can produce indeterminate checkboxes (see below)
classThe class that will be assigned to the <label> element
New in: 5.2.3 tc-checkbox is always applied by default, as well as tc-checkbox-checked when checked
actions New in: 5.1.14 A string containing ActionWidgets to be triggered when the status of the checkbox changes (whether it is checked or unchecked)
uncheckactions New in: 5.1.16 A string containing ActionWidgets to be triggered when the checkbox is unchecked
checkactions New in: 5.1.20 A string containing ActionWidgets to be triggered when the checkbox is checked
disabled New in: 5.1.23 Optionally disables the checkbox if set to yes (defaults to no)

tag Mode

Using the checkbox widget in tag mode requires the tag attribute to specify the name of the tag. The checkbox will be checked if the tiddler specified in the tiddler attribute has the specified tag and unchecked if it does not.

This example creates a checkbox that flips the done tag on the current tiddler:

<$checkbox tag="done"> Is it done?</$checkbox>

Este es su aspecto:

When the attribute invertTag is set to yes, the checkbox will be checked if the tiddler does not have the specified tag and unchecked if it does.

<$checkbox tag="done" invertTag="yes"> Is it not done?</$checkbox>

Este es su aspecto:

CheckboxWidget (field Mode)

 17 marzo 2023 a las 16:11

field Mode

Using the checkbox widget in field mode requires the field attribute to specify the name of the field. The checked and unchecked attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The default attribute is used as a fallback value if the field is missing or contains a value that does not correspond to the value of the checked or unchecked attributes.

This example creates a checkbox that is checked if the field status is equal to open and unchecked if the field is equal to closed. If the field value is undefined then it defaults to closed.

<$checkbox field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox>

''status:'' {{!!status}}

Este es su aspecto:

status:

CheckboxWidget (filter Mode)

 25 marzo 2023 a las 10:14

filter Mode

Using the checkbox widget in filter mode requires the filter attribute to contain a filter whose output will determine the checked state of the checkbox. In filter mode, checking the checkbox will not automatically make changes to any field of any tiddler. Instead, you can use the actions attribute (or the checkactions and uncheckactions attributes) to specify what should happen when the checkbox is toggled. It is your responsibility to make sure the actions cause changes to the tiddlers or fields that the filter results depend on, so that the checkbox becomes properly checked or unchecked after the actions have triggered and the filter has updated.

If the filter returns an empty result, the checkbox will be unchecked. Otherwise, if the filter result is non-empty, the checkbox will be checked.

However, if either the checked or unchecked attributes (or both) are specified, then their values will be looked for in the filter result, instead of considering any non-empty value to mean checked.

This example creates the same checkbox as in the , selecting between red and green in the colors list field, but using filters and actions to make the change.

\define checkActions() <$action-listops $field="colors" $subfilter="-red green"/>
\define uncheckActions() <$action-listops $field="colors" $subfilter="red -green"/>
<$checkbox filter="[list[!!colors]]" checked="green" unchecked="red" default="red" checkactions=<<checkActions>> uncheckactions=<<uncheckActions>> > Is "green" in colors?</$checkbox>

''colors:'' {{!!colors}}

Este es su aspecto:

\define checkActions() \define uncheckActions()

colors:

CheckboxWidget (indeterminate)

 17 marzo 2023 a las 16:09

indeterminate Checkboxes

If both the checked and unchecked attributes are specified, but neither one is found in the specified field (or index), the result can be ambiguous. Should the checkbox be checked or unchecked? Normally in such cases the checkbox will be unchecked, but if the indeterminate attribute is set to yes (default is no), the checkbox will instead be in an "indeterminate" state. An indeterminate checkbox counts as false for most purposes — if you click it, the checkbox will become checked and the checkactions, if any, will be triggered — but indeterminate checkboxes are displayed differently in the browser.

This example shows indeterminate checkboxes being used for categories in a shopping list (which could also be sub-tasks in a todo list, or many other things). If only some items in a category are selected, the category checkbox is indeterminate. You can click on the category checkboxes to see how indeterminate states are treated the same as the unchecked state, and clicking the box checks it and applies its check actions (in this case, checking all the boxes in that category). Try editing the fruits and vegetables fields on this tiddler and see what happens to the example when you do.

\define check-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[list[!!$field-name$]]" />
\define uncheck-all(field-name:"items") <$action-listops $field="selected-$field-name$" $filter="[[]]" />

<$checkbox filter="[list[!!selected-fruits]count[]]" checked={{{ [list[!!fruits]count[]] }}} unchecked="0" checkactions=<<check-all fruits>> uncheckactions=<<uncheck-all fruits>> indeterminate="yes"> fruits</$checkbox>
<ul style="list-style: none">
<$list variable="fruit" filter="[list[!!fruits]]">
<li><$checkbox listField="selected-fruits" checked=<<fruit>>> <<fruit>></$checkbox></li>
</$list>
</ul>
<$checkbox filter="[list[!!selected-vegetables]count[]]" checked={{{ [list[!!vegetables]count[]] }}} unchecked="0" checkactions=<<check-all vegetables>> uncheckactions=<<uncheck-all vegetables>> indeterminate="yes"> veggies</$checkbox>
<ul style="list-style: none">
<$list variable="veggie" filter="[list[!!vegetables]]">
<li><$checkbox listField="selected-vegetables" checked=<<veggie>>> <<veggie>></$checkbox></li>
</$list>
</ul>

<p>Selected veggies: {{!!selected-vegetables}}<br/>
Selected fruits: {{!!selected-fruits}}</p>

Este es su aspecto:

\define check-all(field-name:"items") \define uncheck-all(field-name:"items")

Selected veggies:
Selected fruits:

CheckboxWidget (index Mode)

 17 marzo 2023 a las 16:09

index Mode

To use the checkbox widget in index mode set the index attribute to a property of a DataTiddler. The checked and unchecked attributes specify the values to be assigned to the property and correspond to its checked and unchecked states respectively. The default attribute is used as a fallback value if the property is undefined.

Make sure to set tiddler correctly, because non-DataTiddlers will be overwritten without warning

The example below creates a checkbox that is checked if the property in the tiddler ExampleData by the name of the current tiddler is equal to selected and unchecked if the property is an empty string. If the property is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the property is missing.

<$checkbox tiddler="ExampleData" index=<<currentTiddler>> checked="selected" unchecked="" default=""> Selected?</$checkbox>

Este es su aspecto:

CheckboxWidget (listField Mode)

 17 marzo 2023 a las 16:09

listField Mode

Using the checkbox widget in list mode requires the listField attribute to specify the name of a field containing a list. The checked attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If checked is absent (or empty) but unchecked is present, then the logic will be inverted: the checkbox will be checked when the unchecked value is missing from the list, and unchecked when the unchecked value is found in the list. If both checked and unchecked are present, the checkbox will work like a toggle, replacing the checked value with the unchecked value and vice-versa. Finally, if neither checked nor unchecked is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify checked or unchecked or both.)

The default attribute is used as a fallback for the checkbox state if the field is not defined.

The following table summarizes the possible combinations:

defined attributes
neitherfield missing or list empty
no default defined
field has any value
checked=item1item1 removed from listitem1 added to list
unchecked=item2item2 added to listitem2 removed from list
bothitem1 removed from list
item2 added to list
item1 added to list
item2 removed from list
item1 not in list
item2 not in list
no default defined

This example creates a checkbox that is checked if the list field named colors contains green and unchecked if the field contains red. If the field is undefined, or if neither green nor red appears in the field, then it defaults to green, meaning that the checkbox will be checked.

<$checkbox listField="colors" checked="green" unchecked="red" default="green"> Is "green" in colors?</$checkbox><br />''colors:'' {{!!colors}}

Este es su aspecto:


colors:

Try editing the colors field of this tiddler to see how the example changes.

CheckboxWidget (listIndex Mode)

 17 marzo 2023 a las 16:09

listIndex Mode

Using the checkbox widget in index list mode requires the listIndex attribute to specify the the property of a DataTiddler. This property contains a list. The checked attribute specifies the value that should be present or absent in the list when the checkbox is checked or unchecked respectively. If checked is absent (or empty) but unchecked is present, then the logic will be inverted: the checkbox will be checked when the unchecked value is missing from the list, and unchecked when the unchecked value is found in the list. If both checked and unchecked are present, the checkbox will work like a toggle, replacing the checked value with the unchecked value and vice-versa. Finally, if neither checked nor unchecked is specified, the checkbox will be checked if the field has anything in it, but unchecked if the field is missing or empty. (This is rarely useful. Most of the time you want to specify checked or unchecked or both.)

The default attribute is used as a fallback for the checkbox state if the property is undefined.

The following table summarizes the possible combinations:

defined attributes
neitherproperty missing or list empty
no default defined
property has any value
checked=item1item1 removed from listitem1 added to list
unchecked=item2item2 added to listitem2 removed from list
bothitem1 removed from list
item2 added to list
item1 added to list
item2 removed from list
item1 not in list
item2 not in list
no default defined

Make sure to set tiddler correctly, because non-DataTiddlers will be overwritten without warning

The example below creates three checkboxes that each control a different value in a property of the ExampleData tiddler.

<$set name=indexName filter="[<currentTiddler>addsuffix[ Colors]]" >
<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="green" unchecked="red" default="red"> Green or red?</$checkbox><br/>
<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="yellow" unchecked="blue" default="blue"> Yellow or blue?</$checkbox><br/>
<$checkbox tiddler="ExampleData" listIndex=<<indexName>> checked="orange" unchecked="purple" default="purple"> Orange or purple?</$checkbox><br/>
Colors list: <$text text={{{ [[ExampleData]getindex<indexName>] }}} />
</$set>

Este es su aspecto:




Colors list:

CheckboxWidget (tag Mode)

 17 marzo 2023 a las 16:11

tag Mode

Using the checkbox widget in tag mode requires the tag attribute to specify the name of the tag. The checkbox will be checked if the tiddler specified in the tiddler attribute has the specified tag and unchecked if it does not.

This example creates a checkbox that flips the done tag on the current tiddler:

<$checkbox tag="done"> Is it done?</$checkbox>

Este es su aspecto:

When the attribute invertTag is set to yes, the checkbox will be checked if the tiddler does not have the specified tag and unchecked if it does.

<$checkbox tag="done" invertTag="yes"> Is it not done?</$checkbox>

Este es su aspecto:

Chick Peas

 6 octubre 2020 a las 19:12

This is a sample shopping list item for the Shopping List Example

Chinese (Simplified) Edition

 20 septiembre 2014 a las 4:02

TiddlyWiki 的简体中文翻译版本:

另请参阅 中文 (正體) 版

Chinese (Traditional) Edition

 20 septiembre 2014 a las 4:02

TiddlyWiki 的正體中文翻譯版本:

另請參閱 中文 (简体) 版

ClearPasswordCommand

 

Revoca la contraseña de las operaciones subsiguientes de cifrado ` --clearpassword

Code Blocks in WikiText

 13 mayo 2022 a las 13:03

You can use triple backticks ``` to mark code blocks ():

```
This will be monospaced
```

Renders as:

This will be monospaced

To be interpreted correctly, the three backticks need to be at the start of the line and immediately followed by a line-break.

Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong:

This is an ordinary paragraph
```
This will be monospaced
```

The correct version is:

This is an ordinary paragraph

```
This will be monospaced
```

Note that some keyboard layouts treat the backtick as a dead key, making it hard to type. The trick is to type three backticks followed by a space. Alternatively, type all six backticks in one go, then a space, and then move the cursor back three characters to type or paste the content.

Code styles and auto format settings for IDEs

 6 enero 2021 a las 15:10

CodeBlockWidget

 17 agosto 2016 a las 18:53

Introduction

The codeblock widget renders text in <pre> and <code> blocks, causing it to be displayed monospace. A language may optionally be specified using the language attribute, however syntax highlighting will only be used if the Highlight Plugin is installed.

Content and Attributes

The content of the <$codeblock> widget is ignored.

AttributeDescription
codeContents of the block to render as code
languageProgramming language for syntax highlighting

The language attribute accepts either:

Examples

Here is an example embedding the contents of a tiddler as a code block.

<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}} />

Este es su aspecto:

\define sayhi(name:"Bugs Bunny",address:"Rabbit Hole Hill")
Hi, I'm $name$ and I live in $address$.
\end

A codeblock may also specify a language.

<$codeblock code="SELECT * FROM users WHERE deleted = false" language="sql" />

Este es su aspecto:

SELECT * FROM users WHERE deleted = false

CodeMirror

 4 mayo 2016 a las 6:20

El plugin CodeMirror incorpora un sofisticado editor web de texto.

DIsponible en: https://tiddlywiki.com/plugins/tiddlywiki/codemirror/

colour Macro

 28 febrero 2020 a las 14:28

The colour (or color) macro returns the CSS value of one the colours in the current palette.

If no such entry exists in the current palette, the vanilla palette is used instead. If no such entry exists in the vanilla palette, the system looks for a configuration tiddler with the title $:/config/DefaultColourMappings/<colour-name> and transcludes the colour from the text field. This enables to plugins to ship defaults for colours that are not present in the core palettes.

Parameters

name
The name of the palette entry, e.g. page-background

Examples

colour Macro (Examples)

 21 febrero 2015 a las 15:48

<<colour code-border>>
<<colour foreground>>
<<colour page-background>>
<<colour sidebar-tab-background>>
<<colour tag-foreground>>

colour-picker Macro

 18 abril 2016 a las 16:43

The colour-picker macro displays an interactive colour picker, as can be seen in the core bitmap editor.

Parameters

actions
Wikitext for the action widgets that should be executed when the user selects a colour. Within the text, the variable colour-picker-value contains the selected colour.

Examples

colour-picker Macro (Example 1)

 16 noviembre 2021 a las 3:46

Colour:


Recientes:



colour-picker Macro (Examples)

 18 abril 2016 a las 16:53

Colour: <$edit-text tiddler='$:/_MyColour' tag='input' placeholder='(unset)' default=''/>

---

<$macrocall $name='colour-picker' actions="

<$action-setfield $tiddler='$:/_MyColour' $value=<<colour-picker-value>>/>

"/>

Paletas cromáticas en TiddlyWiki

 7 mayo 2016 a las 5:29

Una paleta de colores es un tiddler de datos que proporciona valores CSS a una serie de parámetros de color de diferentes componentes, definidos de esta manera:

page-background: #fe0
table-border: #ccc
...

Hay varias paletas definidas en el núcleo de TiddlyWiki. El tiddler $:/palette contiene el título de la paleta actualmente seleccionada.

Para saber el color de algún elemento definido en la paleta actual, por ejemplo para su uso en una hoja de estilos, se puede usar la macro color:

<<colour page-background>>

Devuelve el siguiente valor, correspondiente al color aplicado al componente "page-background": #f4f4f4.

Los tiddlers que definen una paleta de color tienen que tener los siguientes campos:

NombreValor
titleLleva el prefijo $:/
typeapplication/x-tiddler-dictionary
tags$:/tags/Palette
descriptionDescripción para mostrar en el selector de paletas
textnombre: valor

El valor CSS puede definirse bien usando un nombre predefinido (p.ej: BlanchedAlmond), su valor hexadecimal (p.ej, para el anterior: #FFEBCD), o rgba (el anterior: 255, 235, 205,1)

Comma-Separated Values

 21 febrero 2015 a las 18:13

CSV is a standard plain-text format for storing a table of data.

Each row of the table is called a record and occupies one line.

The columns are called fields. Each field of a row is separated from the next by a comma, and is often delimited by quotation marks.

The csvtiddlers macro returns tiddler content in this format.

Comandos en Node.js

 7 mayo 2016 a las 5:31

commands Operator

 3 febrero 2015 a las 18:41
purposeselect the titles of all the Node.js commands
inputignored
parameternone
outputthe command words that can be given to TiddlyWiki on Node.js

Learn more about how to use Filters

commands Operator (Examples)

 18 enero 2015 a las 18:31

[commands[]]

CommandsCommand

 4 diciembre 2022 a las 20:25

Ejecuta secuencialmente las instrucciones devueltas por un filtro

--commands <filter>

Ejemplos

--commands "[enlist{$:/build-commands-as-text}]"
--commands "[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]"

Comunidad

 11 mayo 2016 a las 16:16

Aquí reunimos las últimas y más útiles novedades procedentes de la comunidad TiddlyWiki.

Las últimas noticias, artículos, recursos y ejemplos.

Community Editions

 1 enero 2021 a las 15:18

These are prepackaged editions created by the TiddlyWiki Community. These are TiddlyWikis with added plugins and configurations to facilitate a certain use-case. These are great starting points if you want to quickly jump into TiddlyWiki and start using it without spending too much time configuring yourself.

Community Links Aggregator

 22 marzo 2021 a las 15:18

The TiddlyWiki Community Links Aggregator is a collection of regularly updated links to useful and interesting TiddlyWiki material curated by our team of community editors. The site aggregates links curated by individual members of the TiddlyWiki community. It lets you see the latest links, and explore them through categories and timelines.

https://links.tiddlywiki.org/

This site works best with a crowd of people posting links. The pressure on individuals is reduced because not everybody needs to catch every interesting link that flies past. The aggregation effects reduce the impact of mistakes. For example, if one person mis-tags a link under an inappropriate topic, the site will show that only one person added that tag, versus the majority using more appropriate tags. In that way, we hope that a sort of wisdom of the crowds will emerge, with consensus emerging as to the most useful ways to describe and categorise links.

Community Palettes

 1 enero 2021 a las 15:25

This is a list of palettes made by members of the TiddlyWiki Community. Palettes change the colourscheme of TiddlyWiki and can be used in combination with themes.

Community Plugins

 1 enero 2021 a las 15:14

These are plugins created by the TiddlyWiki Community. Visit their website to try out the plugin. Carefully read the installing instructions and back up before installing! These plugins may not always be up to date and can contain bugs or unwanted behaviour. For even more plugins, visit the TiddlyWiki Groups. New plugins get posted and announced there first.

Community Themes

 1 enero 2021 a las 15:25

This is a list of themes made by members of the TiddlyWiki Community. Themes change the look and feel of TiddlyWiki, allowing for another degree of customisation. Installing themes works the same as plugins.

compare Operator

 12 abril 2020 a las 19:15
purposefilter the input by comparing each item against the operand
inputa selection of titles
suffixthe compare operator uses a rich suffix, see below for details
parameterthe value to compare
outputthose input titles matching the specified comparison
! outputthose input titles not matching the specified comparison

Learn more about how to use Filters

New in: 5.1.22The compare filter allows numerical, string and date comparisons to be performed.

The compare operator uses an extended syntax to specify all the options:

[compare:<type>:<mode>[<operand>]]

The type can be:

  • "number" - invalid numbers are interpreted as zero
  • "integer" - invalid integers are interpreted as zero
  • "string"
  • "date" - invalid dates are interpreted as 1st January 1970
  • "version" - invalid versions are interpreted as "v0.0.0"

The mode can be:

  • "eq" - equal to
  • "ne" - not equal to
  • "gteq" - greater than or equal to
  • "gt" - greater than
  • "lteq" - less than or equal to
  • "lt" - less than

The operator compares each item in the selection against the value of the parameter, retaining only those items that pass the specified condition.

For example:

[[2]compare:number:eq[3]] returns nothing
[[2]compare:number:lt[3]] returns "2"
[[2]compare:number:eq[2]] returns "2"

Note that several of the variants of the compare operator are synonyms for existing operators, and are provided in the interests of consistency. For example, compare:string:eq[x] is a synonym for match[x].

Examples

compare Operator (Examples)

 12 abril 2020 a las 22:29

[[20200101]compare:date:gt[201912311852]]
→ compares two partial dates

[[202001011852]compare:integer:gt[20191231]]
→ compares the same two strings as integers

[list[Days of the Week]compare:string:gt[M]compare:string:lt[W]]

[[v5.1.23-prerelease]compare:version:gt[v5.1.22]]

[[1]compare:number:gt[2]then[yes]else[no]]

Componer balada

 18 abril 2016 a las 5:57

Tarea de muestra para el Ejemplo de administración de tareas

Concatenating text and variables using macro substitution

 15 junio 2023 a las 12:45

New in: 5.3.0 It is recommended to use substituted attributes or the substitute filter operator to concatenate text and variables.

It's a frequent use case in TiddlyWiki that you will want to put the results of variables together with various bits of strings of text. This process in some programming languages is often referred to as "concatenating" text.

You might, for instance want to set up a template for your customer database, where links will automatically refer to additional contact information about your customer. Inside your tiddler, you might try something like this:

Warning:
Don't do it this way!

[[Additional Info|<<currentTiddler>>-Contact]]

But that won't work. If you try this, the link will be interpreted very literally, and will attempt to take you to:

<<currentTiddler>>-Contact

The solution is to use a macro to put the rendered value of <<currentTiddler>> together with the bit of additional text, -Contact.

Create a macro at the top of the tiddler like this:

\define linkup(link) [[Additional Info|$link$-Contact]]

You might be tempted to invoke the new macro like this:

Warning:
Don't do it this way!

<<linkup <<currentTiddler>> >>

But if you do, you will find that <<currentTiddler>> doesn't get rendered, but instead gets passed literally.

Instead, you could use the MacroCallWidget widget, like this:

<$macrocall $name="linkup" link=<<currentTiddler>> />

In this case, we passed the value of a variable directly to our macro. This is often a general way to go about this task. If you wanted to create more links based on other variables you could re-use the macro for each situation.

If, as in this case, the only variable you are using is currentTiddler then you could write a simple macro, like this:

\define linkup() [[Additional Info|$(currentTiddler)$-Contact]]

Notice that in this case we don't pass an argument. Instead, we reference the variable using the special syntax $(variable)$. Since we don't pass an argument, we can invoke it without the <$macrocall> widget more simply, like this:

<<linkup>>

Conceptos

 6 mayo 2016 a las 16:14

Conditional Operators

 1 mayo 2023 a las 18:51

New in: 5.1.20The conditional filter operators allow for if-then-else logic to be expressed within filters.

The foundation is the convention that an empty list can be used to represent the Boolean value false and a list with at one (or more) entries to represent true.

The conditional operators are:

  • then Operator replaces any input values with a constant string. For example:
    • [[HelloThere]is[missing]then[FOO]] evaluates to (empty)
    • [[Missing Tiddler]is[missing]then[FOO]] evaluates to FOO
  • else Operator if the title list is empty then returns a constant string, otherwise returns the original title list
    • [[HelloThere]is[tiddler]else[BAR]] evaluates to HelloThere
    • [[Missing Tiddler]is[tiddler]else[BAR]] evaluates to BAR

These operators can be combined. For example:

[[New Tiddler]is[missing]then[I am missing]else[No I am not missing]]

The else operator can be used to apply a defaults for missing values. In this example, we take advantage of the fact that the get operator returns an empty list if the field or tiddler does not exist:

[[HelloThere]get[custom-field]else[default-value]]

Filter Run Prefixes

The :then and :else filter run prefixes serve a similar purpose as the conditional operators. Refer to their documentation for more information.

Configuring startup tiddlers

 6 marzo 2018 a las 16:14

You can configure TiddlyWiki to start up using whatever individual or group of tiddlers you want using the default tiddlers mechanism.

In the control panel under the info tab is an input field labeled "Choose which tiddlers are displayed at startup". You can list whatever tiddlers you want to open at startup. Use double square brackets for titles containing spaces. For example:

FirstTiddler
SecondTiddler
[[Third Tiddler]]

You can also use filter expressions to open more than one tiddler. For example:

[tag[HelloThere]]

will open all tiddlers tagged as .

You can also use this technique to preserve open tiddlers at startup

See also StartupActions for controlling more advanced startup behaviours.

Configuración de la pestaña por defecto del InfoPanel

 26 abril 2016 a las 14:31

El tiddler de configuración $:/config/TiddlerInfo/Default contiene el título del tiddler de la pestaña abierta por defecto en el InfoPanel.

Su valor por defecto es $:/core/ui/TiddlerInfo/Tools, que corresponde a la pestaña Herramientas.

Todos los valores posibles para seleccionar la pestaña abierta por defecto son:

  • $:/core/ui/TiddlerInfo/Tools
  • $:/core/ui/TiddlerInfo/References
  • $:/core/ui/TiddlerInfo/Tagging
  • $:/core/ui/TiddlerInfo/List
  • $:/core/ui/TiddlerInfo/Listed
  • $:/core/ui/TiddlerInfo/Fields
  • $:/core/ui/TiddlerInfo/Advanced
  • $:/editions/tw5.com/TiddlerInfo/Sources

Consent Banner Plugin

 19 octubre 2020 a las 9:46

The Consent Banner Plugin helps make websites that are compliant with "cookie legislation" such as the EU General Data Protection Regulation. It presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.

By default, content embedded with <iframe>, <embed> and <object> is blocked unless the user consents to accept cookies.

Consent status is available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.

Please note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.

Constructing JSON tiddlers

 9 agosto 2023 a las 12:36

See JSON in TiddlyWiki for an overview of using JSON in TiddlyWiki.

JSON data is just plain text, and so there are an wide variety of techniques to generate it in wikitext.

At a high level, we have several ways to generate JSON data in TiddlyWiki's own tiddler format:

When constructing JSON data manually, the stringify Operator is needed to ensure that any special characters are properly escaped.

contains Operator

 15 agosto 2018 a las 13:46
purposefilter the input by searching list fields for a value
inputa selection of titles
suffixF = the name of a field (defaults to list)
parameterS = a possible value to be found in list field F
outputthose input tiddlers in which the list field F contains the value S
! outputthose input tiddlers in which the list field F does not contain the value S

Learn more about how to use Filters

contains Operator (Examples)

 15 agosto 2018 a las 13:49

[contains:tags[HelloThere]]
→ equivalent to [tag[HelloThere]]

[[$:/StoryList]contains[HelloThere]]
→ checks whether the tiddler 'HelloThere' is currently displayed in the story river

Contents

 14 noviembre 2021 a las 1:36

This is an example tiddler. See Table-of-Contents Macros (Examples).

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

ContentType

 21 febrero 2015 a las 12:08

Used in Internet protocols to indicate the type that should be used to interpret the content of a web resource.

In TiddlyWiki, the type field gives the content type to apply to the main text field.

List of Common Content Types

GroupTypeContent of type field
DeveloperData dictionaryapplication/x-tiddler-dictionary
JavaScript codeapplication/javascript
JSON dataapplication/json
Static stylesheettext/css
ImageGIF imageimage/gif
ICO format icon fileimage/x-icon
JPEG imageimage/jpeg
PDF imageapplication/pdf
PNG imageimage/png
Structured Vector Graphics imageimage/svg+xml
TextHTML markuptext/html
CSS stylesheettext/css
Comma-separated valuestext/csv
Plain texttext/plain
TiddlyWiki 5text/vnd.tiddlywiki
TiddlyWiki Classictext/x-tiddlywiki

contrastcolour Macro

 21 febrero 2015 a las 15:13

The contrastcolour macro returns whichever of two given CSS colours is deemed to contrast best with another.

An example can be seen in the template tiddler for tag pills.

Parameters

target
The colour to contrast against (typically a background colour)
fallbackTarget
An alternative colour to contrast against. This is used when target is undefined or not a valid colour
colourA
The first of the two colours to choose between
colourB
The second of the two colours to choose between

Cómo contribuir con TiddlyWiki

 13 abril 2016 a las 18:02

Estamos encantados de recibir contribuciones al código y la documentación de TiddlyWiki, ya sea:

Hay, además, más formas de contribuir con el proyecto.

CLA: Acuerdo de licencia de contribución

Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.

Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).

Cómo firmar el CLA

Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.

paso a paso

  1. Según seas persona física o fiscal, ve a
  2. Haz clic en el botón Edit arriba a la derecha (al hacerlo se creará un fork del repositorio para que puedas editar el archivo)
  3. Añade tu nombre al final del documento
    • P. Ej.: Jeremy Ruston, @Jermolene, 2011/11/22
  4. Bajo el cuadro de edición del documento, debieras ver otro más pequeño, con el título Propose file change
  5. Escribe un título que explique de qué cambio se trata (p. ej.: "signing the CLA")
  6. Haz clic en el botón verde que dice Propose file change
  7. En la página siguiente, haz clic en el botón verde que dice Create pull request

Los documentos que componen el CLA de este proyecto se crearon usando las siguientes plantillas del Proyecto Harmony:

  • "HA-CLA-I-LIST Version 1.0" para el "CLA-individual"
  • "HA-CLA-E-LIST Version 1.0" para el "CLA-entity"

Observaciones:

  • «When not owning the copyright in the entire work of authorship...»

En caso de que, como dice el texto, no seas propietario de los derechos de la totalidad del trabajo de tu autoría, exprésalo claramente. De otro modo, asumiremos que eres el único poseedor legal de los derechos de tu contribución al proyecto. En tal caso, proporciona también enlaces e información que aclare bajo qué licencia se distribuye el código del que no eres propietario.

ContributingTemplate

 25 agosto 2013 a las 15:49

Contributing to TiddlyWiki5

Estamos encantados de recibir contribuciones al código y la documentación de TiddlyWiki, ya sea:

Hay, además, más formas de contribuir con el proyecto.

CLA: Acuerdo de licencia de contribución

Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.

Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).

Cómo firmar el CLA

Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.

paso a paso

  1. Según seas persona física o fiscal, ve a
  2. Haz clic en el botón Edit arriba a la derecha (al hacerlo se creará un fork del repositorio para que puedas editar el archivo)
  3. Añade tu nombre al final del documento
    • P. Ej.: Jeremy Ruston, @Jermolene, 2011/11/22
  4. Bajo el cuadro de edición del documento, debieras ver otro más pequeño, con el título Propose file change
  5. Escribe un título que explique de qué cambio se trata (p. ej.: "signing the CLA")
  6. Haz clic en el botón verde que dice Propose file change
  7. En la página siguiente, haz clic en el botón verde que dice Create pull request

Los documentos que componen el CLA de este proyecto se crearon usando las siguientes plantillas del Proyecto Harmony:

  • "HA-CLA-I-LIST Version 1.0" para el "CLA-individual"
  • "HA-CLA-E-LIST Version 1.0" para el "CLA-entity"

Observaciones:

  • «When not owning the copyright in the entire work of authorship...»

En caso de que, como dice el texto, no seas propietario de los derechos de la totalidad del trabajo de tu autoría, exprésalo claramente. De otro modo, asumiremos que eres el único poseedor legal de los derechos de tu contribución al proyecto. En tal caso, proporciona también enlaces e información que aclare bajo qué licencia se distribuye el código del que no eres propietario.

This file was automatically generated by TiddlyWiki5

Acuerdo de licencia de contribución

 13 abril 2016 a las 18:12

Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.

Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).

Colaboradores

 11 mayo 2016 a las 16:32

Las siguientes personas han dedicado generosamente su tiempo a contribuir al desarrollo de TiddlyWiki:

Coordinate Systems

 10 agosto 2022 a las 21:16

TiddlyWiki (primarily the RevealWidget) supports two coordinate systems for positioning popups (see PopupMechanism to learn more about popups).

New in: 5.2.4 We introduced absolute coordinates that may not work with all extensions and plugins. For maximum backwards compatibility, use absolute coordinates only where necessary.

Relative coordinate system

The default coordinate system is relative to the nearest positioned ancestor element. This is either:

  • an element with a non-static position, or
  • a td, th, table in case the element itself is static positioned.

For tiddlers the nearest positioned ancestor element mostly is the body of the tiddler. Read the next chapter to learn about the exceptions.

Relative coordinates are expressed in the form (x,y,w,h). Where x and y represent the position and w and h the width and height of the element.

Absolute coordinate system

The relative coordinate system works flawless most of the time. Problems occure if the target element (for example, a popup) and the source element (the triggering button) do not share the same positioned ancestor element. This is often the case if the popup is declared outside a table and the triggering button is declared within a table cell. In this case the coordinate systems have different origins and the popup will be displayed in the wrong location.

Absolute coordinates can fix this problem by using the root element of the page (the upper-left corner of the page) as the origin of the coordinate system. Absolute coordinates are expressed in the form @(x,y,w,h). Where x and y represent the position and w and h the width and height of the element. The leading @-symbol marks these coordinates as absolute.

The ButtonWidget has an option (popupAbsCoords) to put absolute coordinates into the state tiddler. The DraggableWidget and the EventCatcherWidget provide the absolute coordinate of an event within the attribute tv-popup-abs-coords.

Example

The following example shows a popup that is triggered from within a table cell. The table cell is the nearest positioned ancestor element. The popup was defined outside the table cell. The button using relative coordinates will open the popup in the wrong location because the button and the popup do not agree on the same coordinate system. Using absolute coordinates fixes this problem.

<$reveal type="popup" state="$:/state/CoordinateSampleReveal">
<div class="tc-drop-down">
Popup
</div>
</$reveal>

| Table Row 1 |<$button popup="$:/state/CoordinateSampleReveal">Relative coordinates</$button>|
| Table Row 2 |<$button popup="$:/state/CoordinateSampleReveal" popupAbsCoords="yes">Absolute coordinates</$button>|

Este es su aspecto:

Table Row 1
Table Row 2

copy-to-clipboard Macro

 16 diciembre 2017 a las 10:49

The copy-to-clipboard macro displays a button that copies specified text to the clipboard. A notification is displayed if the operation is successful; some browsers do not permit the operation.

Parameters

src
The text to be copied to the clipboard
class
Optional CSS classes to be assigned to the button (defaults to tc-btn-invisible)
style
Optional CSS styles to be assigned to the button

Examples

copy-to-clipboard Macro (Examples)

 16 diciembre 2017 a las 10:51

<<copy-to-clipboard "Mary had a little lamb">>
<$macrocall $name="copy-to-clipboard" src={{$:/SiteTitle}}/>

Copiar tiddlers de un TiddlyWiki a otro

 18 abril 2016 a las 5:11

Puedes copiar un tiddler individual de un TiddlyWiki a otro arrastrando su enlace de una ventana del navegador a otra.

Core Icons

 23 abril 2023 a las 11:31

Introduction

TiddlyWiki includes over 100 custom vector icons. They feature in the user interface and are also available for authors to use in their own applications. See Icon Gallery for a complete listing.

Usage

The core icons are used by transcluding them. For example:

{{$:/core/images/new-image-button}}

Este es su aspecto:

The core icons are parameterised. The first parameter size specified the size at which the icon should be rendered:

{{$:/core/images/picture|64px}}
<$transclude $tiddler="$:/core/images/picture" size="32px"/>

Este es su aspecto:

Here is an example of dynamically resizing icons:

<$list filter="[range[24,56,8]]" variable=iconSize>
<$text text={{{ [<iconSize>addsuffix[px]] }}} />
<$transclude $tiddler="$:/core/icon" size=<<iconSize>>/>
</$list>

Este es su aspecto:

24px 32px 40px 48px 56px

Some icons take further parameters to customise how they are rendered. For example, the $:/core/images/new-journal-button icon takes an additional parameter day that specifies the day of the month that should be shown on the calendar. It defaults to the current date if not specified

{{$:/core/images/new-journal-button|48px|17}}
<$transclude $tiddler="$:/core/images/new-journal-button" day="17"/>

Este es su aspecto:

17

17

The core icons are implemented as embedded SVG elements, and not as full-blown SVG images. This means that they can be styled using CSS. For example, the CSS property fill can be used to change the colour of the icons. For example:

<span style="fill: red;">{{$:/core/images/opacity}}</span>

Este es su aspecto:

Core Macros

 21 febrero 2015 a las 22:20

Core Variables

 28 febrero 2015 a las 13:41

cos Operator

 21 octubre 2021 a las 23:29
purposecalculate the cosine value of a list of angles (given in radians)
inputa selection of titles
outputthe cosine of the input angles (numeric value between -1 and 1)

Learn more about how to use Filters

cos Operator (Examples)

 20 octubre 2021 a las 15:21

[[2]cos[]]

=1 =2 =3 =4 +[cos[]]

count Operator

 8 febrero 2017 a las 20:09
purposecount the number of entries in a list
inputa selection of titles
outputa new list containing the number of items in the input list as a decimal string

Learn more about how to use Filters

The number of the entries in the input list is counted and a decimal representation returned as a single string.

Examples

count Operator (Examples)

 8 febrero 2017 a las 20:10

[tag[HelloThere]count[]]

CountWidget

 20 abril 2016 a las 6:07

Introducción

CountWidget muestra el número de tiddlers que coinciden con determinada expresión de filtro.

Contenido y atributos

El contenido del widget <$count> se ignora.

AtributoDescripción
filterExpresión de filtro para contar

Crear formato personalizado de exportación

 26 abril 2016 a las 15:02

Para crear un formato personalizado de exportación de tiddlers en texto plano, sigue los siguientes pasos:

  1. Crea un tiddler con los siguientes campos y valores:
    • Tags: $:/tags/Exporter
    • description: descripción del formato
    • extension: extensión de archivo por defecto, incluyendo el punto; por ejemplo, .tmx
  2. Escribe el siguiente contenido:
\define renderContent()
{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}
\end
<<renderContent>>

La variable exportFilter contiene un filtro que define qué tiddlers se exportarán.

Creating a splash screen

 27 septiembre 2018 a las 9:44

By default, TiddlyWiki displays a blank screen while it is loading. You can add a special "splash screen" that is displayed while the wiki loads.

Larger TiddlyWiki files and those loaded over a slow network connection may take a little time to load. Once fully loaded, performance improves, because everything is now running entirely within the browser. Using a splash screen ensures people know the loading process is taking place, reducing the chance they will leave the page.

In order for the splash screen to be displayed before TiddlyWiki is initialised or decrypted, it is embedded as static HTML/CSS within the TiddlyWiki HTML file. This is done with the SystemTag: $:/tags/RawMarkupWikified/TopBody, or any of the other system tags beginning with $:/tags/RawMarkup.

In order to remove the splash screen when the wiki has finished loading, the HTML should be wrapped in a container with the special class tc-remove-when-wiki-loaded. Any DOM elements with this class are automatically deleted by the core once the wiki has loaded.

Here's an example of a simple splash screen that just displays the text Loading. To use it, copy the text into a new tiddler, give it the type "text/plain" and the tag "$:/tags/RawMarkupWikified/TopBody":

<div class="tc-remove-when-wiki-loaded">
Loading...
</div>

If the tiddler is given the WikiText type text/vnd.tiddlywiki then the contents are wikified as the file is saved, allowing transclusion etc. For example, here's an example that quotes the site title in the loading message. To use it, copy the text into a new tiddler, give it the type "text/vnd.tiddlywiki" and the tag "$:/tags/RawMarkupWikified/TopBody":

\rules only filteredtranscludeinline transcludeinline
<div class="tc-remove-when-wiki-loaded">
Please wait while {{$:/SiteTitle}} is loading
</div>

The \rules directive is used to limit the wikitext syntax that is recognised to the two forms of inline transclusion. This avoids accidental wikification of tiddler content.

There is a more complex example splash screen using CSS animations and images configured in this wiki: see $:/SplashScreen

Crear y editar tiddlers

 22 abril 2016 a las 16:30

Crear un tiddler

Un tiddler se crea con un simple clic, bien en el botón Nuevo tiddler de la barra lateral, o en el enlace a un tiddler vacío, que se distinguen por estar en cursiva azul

Mira también:

Editar un tiddler

Haz clic en el botón Editar, situado arriba a la derecha del tiddler que quieres editar.

Borrador

Cuando creas un tiddler nuevo o editas uno ya existente, el tiddler se muestra en modo borrador o de edición y muestra un panel de control que permite modificarlo de varias formas, compuesto de las siguientes partes (de arriba hacia abajo):

Campo de título - SIrve para cambiar el título de un tiddler (por defecto "Nuevo Tiddler")

  • Selector de etiquetas - SIrve para añadir o quitar etiquetas. A medida que escribas en el cuadro, una lista desplegable te mostrará cualquier etiqueta ya existente que coincida con lo escrito. Puedes seleccionar una etiqueta de la lista o escribir una completamente nueva y pulsar el botón añadir para incorporarla al tiddler. Cada etiqueta se muestra como una píldora coloreada. Si haces clic en la x de una píldora, quitarás la etiqueta del tiddler y si no hay más tiddlers con esa etiqueta, la borrarás también de la lista.
  • Área de texto - Escribe aquí el contenido del texto. Pulsando el botón mostrar vista previa verás qué aspecto tendrán tus cambios cuando guardes el tiddler y salgas del modo de edición. Si te molesta, puedes ocultarla pulsando el botón ocultar vista previa.
  • Selector de tipo - Se usa cuando hay que indicar a TIddlywiki que interprete ese tiddler de forma especial, de acuerdo con el tipo seleccionado. Por ejemplo, una imagen en jpg: si seleccionamos el tipo como "imagen .JPEG", Tiddlywiki sabrá cómo interpretar el tiddler y nos mostrará la imagen que queremos ver. Si no seleccionamos nada, nos mostrará un montón de código incomprensible, ya que el tipo por defecto es text/vnd.tiddlywiki, lo que significa que el tiddler contiene WikiText... y como tal lo interpreta.
  • Selector de campos - Se usa para añadir o quitar campos del tiddler. Estos campos sirven tanto para complementar la información del tiddler como para establecer la relación que mantiene con otros. Por ejemplo: si estás editando un tiddler que servirá para etiquetar a otros tiddlers, puedes añadir un campo ''list'' para establecer el orden que esos otros tiddlers tendrán en la lista.

Guardar, cancelar o borrar

Cuando termines con la edición, pulsa uno de los botones que tienes arriba a la derecha del tiddler:

  • El botón Vale guarda los cambios realizados en el tiddler y sale del editor.
    • Si tienes el wiki configurado para que guarde automáticamente los cambios, no necesitas hacer nada más: tus cambios quedan guardados de forma permanente al salir del editor. Si no tienes el Autosave configurado, los cambios se guardan sólo temporalmente en el navegador y se perderán en cuanto cierres la página. TiddlyWIki te avisa en tal caso de que tienes cambios pendientes de guardar mostrándote un botón rojo a la derecha, en la barra lateral.
    • Ese es el botón Guardar cambios . Para conservar tus cambios permanentemente, haz clic en él. TiddlyWiki guardará los cambios y el botón cambiará su color, indicando que ya no hay peligro.
  • El botón Cancelar interrumpe la edición, descarta todos los cambios (previa confirmación) y sale del editor.
  • El botón Borrar elimina por completo el tiddler. Para hacerlo pide confirmación, pero ten en cuenta que una vez confirmado, el borrado de un tiddler es irrecuperable.

Creación de entradas de diario

 22 abril 2016 a las 16:31

Introducción

Las entradas de diario son tiddlers que usan fechas u horas como título. Son una forma rápida de registrar información que precisa de algún tipo de marca de tiempo.

En ellos puedes, como en cualquier otro tiddler, usar etiquetas para enlazar con otros y así establecer diferentes relaciones entre fragmentos de información que de otro modo estarían inconexos.

Por ejemplo: podemos usar una entrada de diario titulada 10 de octubre para registrar pensamientos e información diversa de aquel día. Las etiquetas shopping y Londres podrían servirnos, además de para indicarnos que esa fecha tiene que ver con estar de shopping en Londres, para etiquetar con ellas cualquier otra información relativa a ambos temas.

Creación de una entrada de diario

La manera más sencilla es mediante el botón 4 Nueva entrada de la pestaña Herramientas de la barra lateral. Si lo usas con frecuencia, pincha en la casilla para que aparezca entre los iconos que se muestran sobre el cuadro de búsqueda.

El botón 4 Nueva entrada crea un tiddler en blanco con etiqueta Diario y título derivado de la fecha de hoy. Si ya existe una entrada con esa misma fecha, entonces lo abre para su edición.

Creación de una entrada con etiquetas

Es habitual, revisando u organizando notas o trabajando en grupo, crear una entrada con la fecha del día y etiquetarla con el título de los tiddlers que revisamos. Además de creando una entrada y escribiendo etiquetas manualmente, tenemos otra forma de hacerlo, que añade automáticamente las etiquetas:

  • En el tiddler que estamos revisando, pinchamos en el botón Más y hacemos clic en 4 Entrada nueva aquí.
    • Algo menos a mano, peo igualmente útil, este botón está también está en la pestaña Herramientas del panel de Información del tiddler.
  • En el siguiente tiddler que revisemos, repetimos la operación anterior y se nos volverá a abrir la entrada, que además de la etiqueta Diario y la del título anterior, llevará ya la del nuevo.

Pongamos por caso que estamos revisando un tiddler llamado Quijote. Del modo antes descrito, tendremos una entrada con la fecha del día y la etiqueta Quijote en la que hacer nuestras anotaciones, que guardamos y cerramos para seguir revisando notas.

Al rato, mientras revisamos otro tiddler llamado Hamlet, repetimos la operación y el resultado será la entrada del día abierta y lista para escribir en ella nuestra anotación, con las etiquetas Diario, Quijote y Hamlet añadidas automáticamente, sin riesgo de equivocarnos y sin tener que perder concentración rebuscando entre otras entradas.

Customización de entradas

Podemos configurar mínimamente cómo se crean las nuevas entradas de diario en la pestaña Básico, de la sección Información del panel de control

  • Formato de título para las nuevas entradas de diario permite especificar el título de las entradas como una cadena con formato de fecha. El valor por defecto DD de MMM de YYYY da como resultado fechas del estilo "10 de octubre de 2014"
  • Etiqueta para las nuevas entradas de diario permite especificar qué etiquetas aparecerán por defecto al crear nuevas entradas. Por ejemplo: DIario [[Vacaciones de verano]]...etc

Nota: Si quieres crear entradas separadas cada vez que pulses 4 Nueva entrada, aunque lo hagas varias veces el mismo día, puedes incluir la hora en el formato del título. Algo como YYYY-0MM-0DD a las 0hh0mm'0ss'' dará como resultado títulos del estilo 2016-06-08 a las 07:09:05

Nota2: Otro truco muy útil es incluir $(currentTiddler)$ en el título. Esto significa que si pulsas 4 Entrada nueva aquí en un tiddler, su título, además de etiquetar la entrada, forma parte del título.

Creating new toolbar buttons

 26 noviembre 2021 a las 16:29

Let's say you have a skeleton tiddler called 'Recipe template', and you want to have a button available in the tiddler ViewToolbar to create new recipe tiddlers on demand. This will require the following steps:

  1. You will want an image for your button. If none of the core images (shadow tiddlers with the prefix $:/core/images/) work for you, then you will need to create or acquire an SVG image (for example, one of the images at http://flaticon.com), drag it into your file so that it becomes a tiddler, edit the tiddler and adjust the height and width to 22px
  2. You will want to create the tiddler that contains your tiddler. Create it, title it, and add the button code (see the code at the bottom of this tiddler for an example, with hints where you will need to adapt it). Tag it $:/tags/ViewToolbar
  3. You will need to create a tiddler that tells TiddlyWiki whether your button should be visible in the toolbar or hidden. Let's title it $:/config/ViewToolbarButtons/Visibility/Recipe. Type show into the text area, and save. If you want to hide it, type hide into the text area and save. The button will also be accessable from the ControlPanel : Appearance : Toolbars : ViewToolbar tab
  4. You will want to position the button properly. Open the tiddler $:/tags/ViewToolbar and insert your button tiddler's title in the appropriate place in the list field.
\define newHereButtonTags()
[[$(currentTiddler)$]]
\end
\define newHereButton()
<$button class=<<tv-config-toolbar-class>>>
<$action-sendmessage
  $message="tm-new-tiddler"
$param="TITLE OF YOUR SKELETON BUTTON"
title="New tiddler"
  tags=<<newHereButtonTags>> />
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{TITLE OF YOUR SVG IMAGE TIDDLER}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text="CAPTION FOR YOUR BUTTON"/></span>
</$list>
</$button>
\end

<<newHereButton>>

Crear subhistorias en TiddlyWiki

 18 abril 2016 a las 5:30

Este ejemplo muestra cómo, dentro de un un tiddler, se pueden mostrar subhistorias independientes de la historia principal.

Este es el código:

<$navigator story="MiSubHistoria" history="MiSubHistoria">

Haz clic en este enlace para empezar:[[¡Hola! ¿Qué tal?|HelloThere]]

<$list filter="[list[MiSubHistoria]]" history="MiSubHistoria">
<div>

! <$button message="tm-close-tiddler" class="tc-btn-invisible">{{$:/core/images/close-button}}</$button> <$view field="es-title"/>

<$transclude/>
</div>
</$list>

</$navigator>

Ahora puedes abrir el tiddler ¡Hola! ¿Qué tal? como subhistoria haciendo clic en el siguiente enlace. Los enlaces de la subhistoria se abren en la subhistoria y no en la principal.

Haz clic en este enlace para empezar:¡Hola! ¿Qué tal?

¡Hola! ¿Qué tal?

¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?

BIenvenido a TiddlyWiki, un bloc de notas no lineal único para capturar, organizar y compartir información compleja.

Úsalo para mantener tu lista de tareas, para desarrollar un ensayo o novela, o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades.

TiddlyWiki Newsletter
Introducción a TiddlyWiki
Grok TiddlyWiki
Qué hay de nuevo en 5.3.2-prerelease
links.tiddlywiki.org
Desarrolladores
How is TiddlyWiki Funded?
TiddlyWiki Marketplace
Federatial
TiddlyWiki Classic
Amable introducción
TiddlyWiki ayudando

Al revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy.

TiddlyWiki en Google Groups TiddlyWiki en YouTube @TiddlyWiki en Twitter TiddlyWiki en GitHub

csvtiddlers Macro

 21 febrero 2015 a las 15:13

The csvtiddlers macro returns the fields of a selection of tiddlers in CSV form, with one record (row) per tiddler.

An example can be seen in the template tiddler for CSV exports.

Parameters

filter
A filter selecting which tiddlers to include
format
Reserved for future extension. Should be set to quoted-comma-sep

Current Tiddler

 7 mayo 2016 a las 5:43

La variable current tiddler proporciona el contexto en el que se interpretan diversos aspectos de WikiText.

Por ejemplo, {{!!title}} indica el valor del campo title de cualquier tiddler actual, sea este cual sea. Esta técnica puede usarse para crear plantillas de uso general.

El título del tiddler actual siempre se puede invocar con la variable currentTiddler.

Las dos formas principales en que se puede cambiar el tiddler actual son:

  • El widget $tiddler
  • El widget $list (cuando su atributo variable no ha sido puenteado)

Por lo tanto, decir "el tiddler actual" no siempre equivale a decir tiddler que se está viendo o editando.

currentTiddler Variable

 21 febrero 2015 a las 15:20

The currentTiddler variable contains the title of the current tiddler.

Several aspects of WikiText use this tiddler as their context. As a result, within a $list widget or a template tiddler, there is often no need to explicitly specify a tiddler title.

Compare storyTiddler.

Examples

currentTiddler Variable (Examples)

 21 febrero 2015 a las 14:13

The following two examples have the same meaning:

<$view field=title/>
<$view tiddler=<<currentTiddler>> field=title/>

This next example shows how the $list widget changes the current tiddler:

<ol>
<$list filter="[prefix[J]]">
<li><<currentTiddler>></li>
</$list>
</ol>

Custom data-styles

 11 abril 2018 a las 18:39

[data-tiddler-title="Custom styles by data-tiddler-title"] {
  border: 1px solid blue;
}[data-tags*="example-test"] {
  border: 2px solid pink;
}[data-tags*="example-hardlinebreaks"] .tc-tiddler-body {
  word-break: normal;
  word-wrap: break-word;
  white-space: pre-wrap;
}[data-tags*="data-tags-styles"] .tc-tiddler-body {
  display: block;
  padding: 14px;
  margin-top: 1em;
  margin-bottom: 1em;
  word-break: normal;
  word-wrap: break-word;
  white-space: pre-wrap;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  padding: 0 3px 2px;
  border-radius: 3px;
  font-family: Monaco, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace;
}

Custom styles by data-tags

 11 abril 2018 a las 18:39

Attribute: data-tags

New in: 5.1.16

The TiddlyWiki core adds several attributes to the rendered content. These make it possible to apply custom styles to tiddlers.

For example this tiddler is tagged: and so the attribute looks like this:

data-tags="[[How to apply custom styles]] example-test"

Important: Tiddler tags are not sorted so the order in the rendered output may be different!

Examples

The following CSS is defined in Custom data-styles and creates a pink border for all tiddlers (including this one) tagged with example-test.

[data-tags*="example-test"] {
  border: 2px solid pink;
}

Styling Stylesheets

So to display tiddlers tagged: data-tags-styles in a decent way we can use the following code. (I could have used: $:/tags/Stylesheet, but that would affect all stylesheets in this wiki, which is not intended. amt ;)

Important: Don't forget to also specify .tc-tiddler-body or the whole tiddler, including the title, will be changed! see: Custom data-styles

[data-tags*="data-tags-styles"] .tc-tiddler-body {
  display: block;
  padding: 14px;
  margin-top: 1em;
  margin-bottom: 1em;
  word-break: normal;
  word-wrap: break-word;
  white-space: pre-wrap;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  padding: 0 3px 2px;
  border-radius: 3px;
  font-family: Monaco, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace;
}

Hard Linebreaks

This mechanism may be handy for users who want to write prose text! See: Hard Linebreaks with CSS

More Possibilities

[attr]
Represents an element with an attribute name of attr.
[attr="value"]
Represents an element with an attribute name of attr and whose value is exactly "value".
[attr~="value"]
Represents an element with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly "value".
[attr|="value"]
Represents an element with an attribute name of attr. Its value can be exactly “value” or can begin with “value” immediately followed by “-” (U+002D). It can be used for language subcode matches.
[attr^="value"]
Represents an element with an attribute name of attr and whose first value is prefixed by "value".
[attr$="value"]
Represents an element with an attribute name of attr and whose last value is suffixed by "value".
[attr*="value"]
Represents an element with an attribute name of attr and whose value contains at least one occurrence of string "value" as substring.
[attr "operator value" i]
Adding an i (or I) before the closing bracket causes the value to be compared case-insensitively (for characters within the ASCII range).

Learn more at: Attribute selectors - CSS or CSS-Specification

Custom styles by data-tiddler-title

 11 abril 2018 a las 18:39

Attribute: data-tiddler-title

New in: 5.1.16

The TiddlyWiki core adds several attributes to the rendered content. With those attributes it's possible to apply custom styles to the tiddler content.

For example this tiddler is named: "Custom styles by data-tiddler-title" so the attribute looks like this:

data-tiddler-title="Custom styles by data-tiddler-title"

Examples

The following CSS is defined in Custom data-styles and creates a blue border for exactly this tiddler.

[data-tiddler-title="Custom styles by data-tiddler-title"] {
  border: 1px solid blue;
}

To create a green border for every tiddler that starts with $:/ aka system tiddlers, you'd need to use CSS like so: (not applied here but you can experiment with it! )

[data-tiddler-title^="$:/"] {
  border: 1px solid green;
}

More Possibilities

[attr]
Represents an element with an attribute name of attr.
[attr="value"]
Represents an element with an attribute name of attr and whose value is exactly "value".
[attr~="value"]
Represents an element with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly "value".
[attr|="value"]
Represents an element with an attribute name of attr. Its value can be exactly “value” or can begin with “value” immediately followed by “-” (U+002D). It can be used for language subcode matches.
[attr^="value"]
Represents an element with an attribute name of attr and whose first value is prefixed by "value".
[attr$="value"]
Represents an element with an attribute name of attr and whose last value is suffixed by "value".
[attr*="value"]
Represents an element with an attribute name of attr and whose value contains at least one occurrence of string "value" as substring.
[attr "operator value" i]
Adding an i (or I) before the closing bracket causes the value to be compared case-insensitively (for characters within the ASCII range).

Learn more at: Attribute selectors - CSS or CSS-Specification

Custom styles by user-class

 11 abril 2018 a las 18:39

Tiddler Field: class New in: 5.1.16

The tag manager allows us to set a tiddler color field, that is used to define the "tag-pill" colour. Since: New in: 5.1.16 we can define a class field, that is directly inserted into the ViewTemplate and it can be used for styling:

title: anyName
tags: $:/tags/Stylesheet
class: myClass

Every tiddler, that has a class field can be styled that way!

.myClass {
  border: 2px solid blue;
}

Learn more at: How to apply custom styles

Custom Styles FAQ

 11 abril 2018 a las 18:39

Custom tag pill styles

 8 junio 2023 a las 13:34

Attribute: data-tag-title

New in: 5.2.0 The attribute data-tag-title was added to tag pills visible in the tiddler view template.

New in: 5.3.0 The attribute was added to every tag pill visible in the standard TiddlyWiki UI. Especially the edit template tag list, the tag-picker dropdown, the Right sidebar -> More -> Tags tab and the $:/TagManager

The data-tag-title HTML attribute only contains the tag-title visible in the tag pill. It can be used to style the tag-pill.

If you want to style the whole tiddler have a look at: Custom styles by data-tiddler-title

Examples

If you use the following CSS in a new tiddler tagged: $:/tags/Stylesheet every tag that starts with a # will have a new border radius. So those tags stand out in contrast to the default tags.

You have to define both CSS rules, due to the existing UI structure to catch all tag-pills in the existing TW UI.

[data-tag-title^="#"] .tc-tag-label,
[data-tag-title^="#"].tc-tag-label {
   border-radius: 3px;
}

More Possibilities

[attr]
Represents an element with an attribute name of attr.
[attr="value"]
Represents an element with an attribute name of attr and whose value is exactly "value".
[attr~="value"]
Represents an element with an attribute name of attr whose value is a whitespace-separated list of words, one of which is exactly "value".
[attr|="value"]
Represents an element with an attribute name of attr. Its value can be exactly “value” or can begin with “value” immediately followed by “-” (U+002D). It can be used for language subcode matches.
[attr^="value"]
Represents an element with an attribute name of attr and whose first value is prefixed by "value".
[attr$="value"]
Represents an element with an attribute name of attr and whose last value is suffixed by "value".
[attr*="value"]
Represents an element with an attribute name of attr and whose value contains at least one occurrence of string "value" as substring.
[attr "operator value" i]
Adding an i (or I) before the closing bracket causes the value to be compared case-insensitively (for characters within the ASCII range).

Learn more at: Attribute selectors - CSS or CSS-Specification

Custom Widgets

 21 septiembre 2023 a las 19:03

Introduction

New in: 5.3.0 A custom widget is a special kind of procedure that can be called using the same syntax as widgets.

Custom widgets can also be used to override built-in JavaScript widgets to customise their behaviour.

Defining Custom Widgets

Custom widgets are usually defined with the Pragma: \widget:

\widget $my.widget(attribute:"Default value")
This is the widget, and the attribute is <<attribute>>.
\end

The name of the widget must start with a dollar sign. If it is a user defined widget that does not override an existing widget then it must include at least one period (dot) within the name (for example $my.widget or $acme.logger).

Note that the Pragma: \whitespace setting is inherited from the parsing context in which the procedure definition occurs. That means that a tiddler containing multiple procedure definitions only needs a single whitespace pragma at the top of the tiddler, and the setting will be automatically inherited by the procedure definitions without needing the pragma to be repeated.

Using Custom Widgets

Custom widgets are called in the same way as ordinary built-in widgets:

<$my.widget/>

<$my.widget attribute="The parameter"/>

The attributes that are specified in the widget call are made available as parameter variables.

Accessing Content of Custom Widgets

Within the definition of a custom widget the content of the calling widget is available via the <$slot $name="ts-raw"/> widget. The contents of the $slot widget is used as the default content if the widget was called without any content.

For example:

\widget $my.widget(one:'Jaguar')
<$text text=<<one>>/>
<$slot $name="ts-raw">
	Whale
</$slot>
\end

<$my.widget one="Dingo">
	Crocodile
</$my.widget>

<$my.widget/>

Este es su aspecto:

\widget $my.widget(one:'Jaguar') Whale \end

Undefined widget 'my.widget'

Undefined widget 'my.widget'

How Custom Widgets Work

Custom widgets are implemented as a special kind of variable. The only thing that distinguishes them from ordinary variables is the way that they can be called as a custom widget with attributes mapped to parameters.

Overriding Core JavaScript Widgets

Custom widgets can use the $genesis widget to invoke the original widget, bypassing the override. For example, here we override the $codeblock widget to add ≤≥ symbols around each string of text.

\widget $codeblock(code)
<$genesis $type="$codeblock" $remappable="no" code={{{ [<code>addprefix[≤]addsuffix[≥]] }}}/>
\end

<$codeblock code="Kangaroo"/>

<$codeblock code={{$:/SiteTitle}}/>

Python ` <$let test="Tiger"> <$codeblock code=<<test>>/> </$let> Este es su aspecto: \widget $codeblock(code) <$genesis $type="$codeblock" $remappable="no" code={{{ [<code>addprefix[≤]addsuffix[≥]] }}}/> \end <$codeblock code="Kangaroo"/> <$codeblock code={{$:/SiteTitle}}/> Python <$let test="Tiger"> <$codeblock code=<<test>>/> </$let> </div>

Cómo modificar TiddlyWiki

 28 abril 2016 a las 15:11

Visualización personalizada de resultados de búsqueda

 26 abril 2016 a las 15:50

Por defecto, los resultados de búsquedas en la barra lateral se muestran como una simple lista de títulos de tiddler. La forma de mostrar los resultados puede modificarse a gusto mediante plugins de visualización. Si el sistema detecta visualizaciones adicionales, las mostrará en pestañas.

Las distintas visualizaciones de resultados se guardan en tiddlers con la etiqueta $:/tags/SearchResults. La lista por defecto de resultados de búsqueda está implementada en el sistema y reside en el tiddler $:/core/ui/DefaultSearchResultList.

Para crear una nueva visualización de resultados:

  1. Crea un nuevo tiddler con la etiqueta $:/tags/SearchResults
  2. Usa la variable searchTiddler para acceder al título del tiddler que contiene el término de búsqueda actual

Si quieres que sea la nueva visualización la que se muestre por defecto, crea un tiddler llamado $:/config/SearchResults/Default que contenga en el texto el título de la nueva visualización.

Este es un ejemplo de visualización alternativa que muestra los resultados en orden cronológicamente inverso:

\define searchResults()
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">

{{$:/language/Search/Matches}}

</$set>
<<timeline subfilter:"!is[system]search{$(searchTiddler)$}">>
\end
<<searchResults>>

Customising Tiddler File Naming

 3 agosto 2021 a las 21:46

By default, a TiddlyWiki on Node.js instance using a wiki folder will create new tiddler files by using the sanitised and disambiguated title as filename. All filepath operations are relative to a default-tiddler-location which defaults to the wiki folder's tiddlers/ directory. This can be overridden by mapping a path in the wiki's tiddlywiki.info file, by using a default-tiddler-location property in the config object.

The default file extension of .tid is used for tiddlers that are missing the type field, or for tiddlers of type "text/vnd.tiddlywiki". Tidders of other types are saved according to their MIME types (defined at boot startup).

Both the logical path (directory and file name) and the file extension can be customised independently by creating optional tiddlers $:/config/FileSystemPaths and $:/config/FileSystemExtensions.

File System Paths

The logical path can be customised by creating a $:/config/FileSystemPaths tiddler containing one or more filter expressions, each on a line of its own. Every time a tiddler is saved to disk it is tested against each filter in turn, and the first output of the first filter to produce any output is taken as a logical path to be used for the tiddler file. If the logical path has changed a new file is created and the old file is deleted.

Tiddlers are limited to being written to the wiki folder, the path defined in the default-tiddler-location setting, or the specific path saved in the $:/config/OriginalTiddlerPaths tiddler (see tiddlywiki.files Files). Any error saving a tiddler to disk, with a logical path that does not start with the wiki folder's path the most common error, causes the filepath to be encoded via Javascript's encodeURIComponent() method and the tiddler is saved as this file in the wiki folder's default-tiddler-location.

Logical paths do not include the file-on-disk's extension (see below), and they can use / or \ as directory separator (when generating the physical path, this is replaced by the correct separator for the platform TiddlyWiki is running on). If none of the filters match, the logical path is simply the title with all occurrences of the characters /\<>~:"|?*^ replaced by _ in order to guarantee that the resulting path is legal on all supported platforms. Logical paths are also limited to 200 characters. If a file with this name already exists, a space and a number will be appended to the final filepath, and with the number incremented until an unused path is found.

Example

[is[system]!has[draft.of]removeprefix[$:/]addprefix[_system/]]
[is[draft]search-replace:g:regexp[/|\\],[_]addprefix[drafts/]]
[tag[task]addprefix[mytasks/]]
[!tag[externalnote]addprefix[wiki/]]
Note
All paths are relative to the wiki's default-tiddler-location.

This will store newly created system tiddlers that are not drafts of other tiddlers in ./_system/ (after stripping the $:/ prefix). Next, all drafts have the path separator characters in their titles replaced by "_" and are stored in ./drafts/. Then tiddlers tagged task are stored in a subdirectory ./mytasks/. Finally, all tidders not tagged with "externalnote" will match the final [!tag[externalnote]addprefix[wiki/]] storing these in ./wiki/. In this example, tiddlers tagged with "externalnote" have been imported using tiddlywiki.files Files with an "isEditableFile" flag set to true, causing the server to remember their original file path in the $:/config/OriginalTiddlerPaths tiddler.

Whenever a tiddler generates a $:/config/FileSystemPaths filter match, any / or \ in the tiddler title is mapped to a path separator. With the above filters, the non-system, non-draft tiddler titled some/thing/entirely/new (with no tags) will be saved to ./wiki/some/thing/entirely/new.tid (ie, the file new.tid in a directory called entirely/). Thus, $:/config/FileSystemPaths itself will end up in ./_system/config/FileSystemPaths.tid or .\_system\config\FileSystemPaths.tid, depending on the platform.

File System Extensions

Normally, the file system extension of a tiddler on disk is determined by the presence of field values containing newlines or field values that start or end with whitespace (other than the text field), in which case the single file ".json" tiddler file format is used.

If the tiddler does not have such field values, then the type field is referenced to find a matching file-type, with .tid used for tiddlers without a type value. The boot engine defines a set of these tiddler-type to file-type relationships in the $:/boot/boot.js tiddler. Search for // Add file extension information to find the section of code that defines these relationships.

The file extension of individual tidders can be customised by creating a tiddler $:/config/FileSystemExtensions containing one or more filter expressions, each on a line of its own. Every time a tiddler is saved to disk it is tested against these filters, and the first output of the first filter to produce any output is taken as the file extension to be used for the tiddler file. Extensions should always start with a leading dot (see example). If no filter matches, the default extension is used. If the extension has changed a new file is created and the old file is deleted.

Note
A result of ".tid" will force the tiddler to be written to disk as a single-file text tiddler. A result of ".json" will force the tiddler to be written to disk as a single file tiddler in json-format (a single tiddler fields object in an array), NOT as a tiddler of type "application/json". All other recognised file-types will be saved using their defined extension along with an accompanying *.meta file of the same name which describes all fields but the "text" field.

Example

[tag[.txt]then[.txt]]
[tag[.json]then[.json]]
[tag[.tid]then[.tid]]

This will cause all tidders that have the tag ".txt" to be saved at the filepath determined by the File System Paths filters, but with their text field saved as a *.txt file, and all other fields saved as a *.txt.meta file.

Next, all tiddlers that have the ".json" tag are saved as *.json files. Finally, all tiddlers that have tag ".tid" are saved as single files. If a tiddler matches none of the filters, the default extension determined by the tiddlers type field would be used.

Customising TiddlyWiki's user interface

 4 diciembre 2021 a las 12:00

TiddlyWiki’s user interface is designed to be highly extensible. Every element can be augmented, removed, or rearranged.

Several different mechanisms are used to achieve this:

  • special fields
  • special titles
  • special tags
  • cascades

Here we provide an overview of those mechanisms and how they relate together.

Special Fields

Special fields are used to assign an appearance or behaviour to individual tiddlers. They can be thought of as flags or values that directly control the tiddler to which they are applied.

For example:

  • Set the icon field to the title of an image tiddler to be used as the icon for this tiddler
  • Set the color field to a CSS colour that is then used for icons and tag pills associated with this tiddler
  • Set the hide-body field to yes to hide the view template body for this tiddler

See TiddlerFields for details of all the special fields.

Special Titles

Certain special titles identify configuration tiddlers that customise TiddlyWiki's appearance or behaviour. They can be thought of as global settings that affect an entire wiki.

For example:

Many of TiddlyWiki's configuration tiddlers are presented as options in $:/ControlPanel. Less commonly used configuration tiddlers do not have a user interface, but are documented in Hidden Settings.

Special Tags

Special tags assign special behaviour or appearance to all of the tiddlers to which they are applied. They can be thought of as establishing ordered lists of tiddlers that are processed or displayed in a particular way.

For example:

See SystemTags for details of all the special tags.

The entire TiddlyWiki user interface is constructed from lists formed from special system tags.

The ordering of these lists is determined by the order of tagged tiddlers rules. Users can re-order tags using drag and drop within a tag dropdown.

Cascades

Cascades provide a means to select one of multiple values based on flexible, extensible criteria. They can be thought of as a list of conditions that are evaluated in turn until one of them matches.

For example, the core uses the template $:/core/ui/ViewTemplate to display tiddlers in view mode, and $:/core/ui/EditTemplate to display tiddlers in edit mode. A cascade is used to choose which template to use for a particular tiddler:

  1. If the tiddler is a draft, then use $:/core/ui/EditTemplate
  2. Otherwise, use $:/core/ui/ViewTemplate

The list of conditions is defined via a special tag, making it possible to insert additional conditions anywhere in the list.

For example, a plugin might add a special template $:/plugins/example/map-template for tiddlers that have the tag $:/tags/Map by inserting an additional rule:

  1. If the tiddler is a draft, then use $:/core/ui/EditTemplate
  2. If the tiddler is tagged $:/tags/Map, then use $:/plugins/example/map-template
  3. Otherwise, use $:/core/ui/ViewTemplate

See Cascades for more details.

Customizing EditTemplate field rendering

 13 abril 2022 a las 17:55

When editing a tiddler the EditTemplate normally renders fields as simple input boxes. To modify this behaviour, the cascade mechanism can be used. Via the Field Editor Cascade the name of the tiddler used for rendering the field editor can be specified. The content of this tiddler is transcluded to represent the content of the field.

To modify the appearance of all fields whose name ends with -date create a new tiddler and add the $:/tags/FieldEditorFilter tag to it. Add a list-before field and assign the value $:/config/FieldEditorFilters/default. Now you have to put the filter for the cascade into the tiddler's text field: [suffix[-date]then[$:/config/EditTemplateFields/Templates/dates]]. This will transclude the tiddler named $:/config/EditTemplateFields/Templates/dates to render the input elements for all fields with names matching the regular expression.

The variables currentTiddler, currentField and currentFieldName are set to pass information about the tiddler and field that are edited to the transcluded tiddler.

currentTiddlerThe tiddler that must be used to store the field value.
currentFieldThe field within the currentTiddler that must be used to store the field name. This is an opaque value hat may contain any field name (even text), use currentFieldName to make decisions based on the actual name of the currently edited field.
currentFieldNameThe name of the currently edited field.

For example, a tiddler containing the following WikiText would render the field as an HTML input element of the type date. This will show a date picker for the fields on all modern browsers:

<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> tag="input" type="date" class="tc-edit-texteditor tc-edit-fieldeditor" placeholder="Set your date" tabindex={{$:/config/EditTabIndex}} cancelPopups="yes"/>

The currentField variable will be set to text for new fields. Make sure that your editor will handle this correctly. For example, by setting the tag attribute on the EditTextWidget. If you want to know the name of the currently edited/added field, use the currentFieldName variable.

The tabindex and cancelPopups attributes make sure the HTML input element behaves exactly the default elements provided by TiddlyWiki.

Not only the EditTextWidget can be used. A tiddler containing the following WikiText will render the field as a drop-down-list that allows the user to select the name of a tiddler. The name of the selected tiddler will be stored in the field.

<$select tiddler=<<currentTiddler>> field=<<currentField>> class="tc-edit-texteditor tc-edit-fieldeditor" cancelPopups="yes">
    <$list filter='[all[tiddlers]sort[title]]'>
        <option value=<<currentTiddler>>><$view field='title'/></option>
    </$list>
</$select>

The classes tc-edit-texteditor and tc-edit-fieldeditor should be used to style the input and select elements to match the theme of the TiddlyWiki installation.

Persistence of values when creating fields

When using multiple field editors for creating fields within the EditTemplate, every field editor tiddler returned by the Field Editor Cascade gets its own storage tiddler. This is done to prevent problems with incompatible values when the user is switching between fields governed by different field editors.

Example

There is a cascade that returns a special field editor for all fields starting with the string "my-". All other fields use the default field editor. If you type a new value into the "field value" input box and select any field not starting with "my-", the value will be kept. If you switch to a field, that starts with "my-", the "field value" input field will be empty again because a new type of field editor is used. If you now type a value and switch to another field starting with "my-" the value will be kept. If you switch to a field that does not start with "my-" the previously typed value (that was stored for the default editor) will reappear.

cycle Operator

 18 noviembre 2020 a las 19:21
purposetoggle in the input, the titles specified in the first operand in a cyclical manner
inputa list of items
parameterthe cycle operator accepts 1 or 2 parameters, see below for details
outputthe input list with the titles specified in the parameter toggled in a cyclical manner

Learn more about how to use Filters

New in: 5.1.23

The cycle operator requires at least one parameter.

[cycle[<titles>],[step-size]]
  • titles : a title list to toggle in the input list cyclically. If no title from the parameter is present in the input, the first title is added. If a title from the parameter is present in the input, it is replaced with the next title from the parameter. Note that all titles specified in this parameter should be unique.
  • step-size: (optional). Defaults to 1. Specifies the number of steps in the parameter list to move each time. Can be a negative number.

While the cycle operator interprets its first parameter as a list of titles to cycle through, the toggle Operator accepts an unlimited number of distinct parameters and offers similar functionality.

Examples

cycle Operator (Examples)

 18 noviembre 2020 a las 17:54

Cycle through a list of values to add as a tag:

<$action-listops $tiddler="target" $tags="+[cycle[todo soon now maybe done ]]" />

Cycle through a list of values to add as a tag, in reverse order:

<$action-listops $tiddler="target" $tags="+[cycle[todo soon now maybe done ],[-1]]" />

These examples make use of the Days of the Week tiddler.

[list[Days of the Week]first[]] +[cycle{Days of the Week!!list}]

[list[Days of the Week]first[]] +[cycle{Days of the Week!!list},[2]]

D3

 4 mayo 2016 a las 6:22

El plugin D3 integra en TiddlyWiki la librería de visualización D3.

Disponible en: https://tiddlywiki.com/plugins/tiddlywiki/d3/

Dashes in WikiText

 13 mayo 2022 a las 12:19

You can create an n-dash with a double hyphen – and an m-dash with a triple hyphen ---.

* -- n-dash example 
* --- m-dash example --- have fun!

Tiene este aspecto:

  • – n-dash example
  • — m-dash example — have fun!

... y su código HTML es:

<ul><li>– n-dash example </li><li>— m-dash example — have fun!</li></ul>

Data URI

 21 febrero 2015 a las 18:17

A data URI is a way of storing data (such as an image) in a way that is compatible with the addresses used by web pages and stylesheets to access external resources.

The datauri macro can be used to generate data URIs within TiddlyWiki.

Tiddlers de datos

 11 mayo 2016 a las 6:53

Un tiddler de datos o DataTiddler es una base de datos en miniatura, contenida en un tiddler.

Existen dos formatos estándar:

Se pueden definir otros formatos para obtener bloques de datos que se comporten como tiddlers de datos.

Para buscar un valor por su nombre, usa una Referencia textual. Por ejemplo, si un diccionario llamado DiasdelMes contiene:

oct:31
nov:30
dec:31

... entonces, {{MonthDays##nov}} devolverá el valor 30.

Lo mismo sucede si DiasdelMes es un tiddler JSON con el siguiente contenido:

{"oct":31,"nov":30,"dec":31}

Nota: Sólo es posible recuperar datos por este medio de las propiedades inmediatas del objeto raíz de un tiddler JSON

datauri Macro

 21 febrero 2015 a las 22:28

The datauri macro returns a data URI for the content of a tiddler.

It is often used in stylesheet tiddlers to reference things like inline images and fonts:

background: url(<<datauri "Motovun Jack.jpg">>);

The data URI is automatically base64-encoded in the case of a non-text tiddler.

Parameters

title
The title of a tiddler, such as an image

Examples

datauri Macro (Examples)

 21 febrero 2015 a las 22:35

<style>
.jack {
	background: url(<$macrocall $name="datauri" title="Motovun Jack.jpg" $output="text/plain"/>);
	height: 300px;
}
</style>

<div class="jack"/>

The example has to invoke datauri through the $macrocall widget. It needs to prevent the macro's output from being parsed as WikiText, as that would transform the data URI into a $link widget and break the example. If the example was in a CSS tiddler, you could simply write:

background: url(<<datauri "Motovun Jack.jpg">>);

Campos de fecha

 11 mayo 2016 a las 6:52

Algunos campos de tiddler se usan para guardar fechas y horas.

Los dos campos estándar son created y modified.

El valor de estos campos es una cadena de 17 caracteres:

  • 4 dígitos para el año
  • 2 dígitos para el mes
  • 2 dígitos para el día
  • 2 dígitos para la hora
  • 2 dígitos para el minuto
  • 2 dígitos para el segundo
  • 3 dígitos para el milisegundo

Para evitar cualquier problema derivado de posibles diferencias horarias, TiddlyWiki siempre usa horas UTC.

Como ejemplo, el campo created de este tiddler tiene el valor 20150117190213631.

Las fechas pueden formatearse convenientemente para mostrarlas en pantalla:

<$view field="created" format="date" template="DDD DD de MMM de YYYY"/>

Este es su aspecto:

sábado 17 de enero de 2015

Formatos de fecha

 22 abril 2016 a las 17:06

ViewWidget acepta un atributo de plantilla que permite dar formato a los valores de fecha que se especifiquen. La cadena que da formato a la fecha se procesa con arreglo a las siguientes sustituciones:

SímboloValor sustitutivo
DDDDía completo de la semana
dddDía de la semana, abreviado
DDDía del mes
0DDDía del mes, con cero delante
DDthAñade sufijo al día
WWNúmero de semana ISO-8601
0WWNúmero de semana, con cero delante
MMMMes completo
mmmMes, abreviado
MMMes, en cifras
0MMMes, en cifras, con cero delante
YYYYAño completo
YYAño, en dos cifras
wYYYYAño completo con respecto al número de semana
wYYAño en dos cifras con respecto al número de semana
hhHora
0hhHora, con cero delante
hh12Hora, en ciclos de 12 horas
0hh12Hora en ciclos de 12 horas, con cero delante
mmMinutos
0mmMinutos, con cero delante
ssSegundos
0ssSegundos, con cero delante
am o pmIndicador am/pm en minúsculas
AM o PMIndicador AM/PM en mayúsculas
TZDHuso horario
\Escape de caracteres. Los caracteres así marcados no se interpretan

Otro texto añadido al formato pasa sin cambios, de modo que se admiten comas, guiones, barras, dos puntos y otros separadores.

Ejemplos

PlantillaResultadao
DDth de MMM de YYYY1º de mayo de 2011
DD MMM \M\M\M YYYY1 mayo MMM 2011
DD mmm hh:mm:ss1 may 2011 11:38:42

datepicker plugin based on Pikaday, by kixam

 6 enero 2021 a las 15:10

An interactive date picker plugin based on Pikaday. A demo can be found here: http://kixam.github.io/TW5-datePicker/.

datepicker is a TiddlyWiki plugin that allows you to use a widget much like EditTextWidget to pick a date, and optionaly a time. It shows a nice interactive mini-calendar when clicked, allows you to set a date format for display, and is compatible with core date fields such as modified and created.

Days of the Week

 16 noviembre 2021 a las 22:12

This example tiddler is used to illustrate some of the Filter Operators.

It has a list field containing the following items:

days Operator

 
purposefilter the input by date
inputa selection of titles
suffixF = the name of a date field, defaulting to modified
parameterD = a { positive | negative } number of days, defaulting to 0
outputthose input tiddlers in which field F is D days in the { future | past } or any time { before | after } that, including { past | future }
! outputthose input tiddlers in which field F is at least D days in the { future | past }

Learn more about how to use Filters

Select tiddlers where a specified date field (default "modified") is within a specified date range. Time portion is ignored.

Examples

days Operator (Examples)

 

[days[-14]]
→ tiddlers modified within the last 14 days

[!days:created[-800]]
→ tiddlers created more than 800 days ago

The filter can be used to highlight new items in a list. For example:


<ul>
  <$list filter="[tag[ReleaseNotes]!<currentTiddler>!sort[modified]]">
    <li>
      <$link><$view field="title"/></$link>
         <$list filter="[<currentTiddler>days[-180]]"> @@color:red;^^new^^@@</$list>
         <$list filter="[<currentTiddler>days[-500]!days[-180]]"> @@color:black;^^recent^^@@</$list>
    </li>
  </$list>
</ul>

Este es su aspecto:

Debugging Stylesheets

 25 noviembre 2021 a las 17:59

The core shadow tiddler $:/snippets/DebugStylesheets contains a simple tool for tracking down certain problems with mismatched brackets and other nested structures.

In the list below, any stylesheets containing an error will be marked with a red cross:

  • $:/_tw5.com-styles
  • $:/editions/tw5.com/doc-styles
  • Custom data-styles

decodebase64 Operator

 
purposeapply base 64 decoding to a string
inputa selection of titles
outputthe input with base 64 decoding applied

Learn more about how to use Filters

New in: 5.2.6

See Mozilla Developer Network for details of base 64 encoding. TiddlyWiki uses library code from @nijikokun to handle the conversion.

The input strings must be base64 encoded. The output strings are binary data.

Examples

decodehtml Operator

 17 octubre 2016 a las 16:29
purposeapply HTML decoding to a string
inputa selection of titles
outputthe input with HTML decoding applied

Learn more about how to use Filters

New in: 5.1.14

"HTML decoding" means replacing HTML entities that represent special characters with that character:

  • &amp; replaced with &
  • &nbsp; replaced with (non breaking space)
  • &lt; replaced with <
  • &gt; replaced with >
  • &quot; replaced with "

Examples

decodehtml Operator (Examples)

 17 octubre 2016 a las 16:53

[[Title with &lt; angle brackets &gt;]] +[decodehtml[]]

[[Title with an &amp; ampersand]] +[decodehtml[]]

decodeuri Operator

 17 octubre 2016 a las 16:29
purposeapply URI decoding to a string
inputa selection of titles
outputthe input with URI decoding applied

Learn more about how to use Filters

New in: 5.1.14

See Mozilla Developer Network for details of the decodeURI operation.

Examples

decodeuri Operator (Examples)

 17 octubre 2016 a las 16:53

[[Title%20with%20Space]] +[decodeuri[]]

[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuri[]]

decodeuricomponent Operator

 17 octubre 2016 a las 16:26
purposeapply URI component decoding to a string
inputa selection of titles
outputthe input with URI component decoding applied

Learn more about how to use Filters

New in: 5.1.14

See Mozilla Developer Network for details of the decodeURIComponent operation.

Examples

decodeuricomponent Operator (Examples)

 17 octubre 2016 a las 16:53

[[Title%20with%20Space]] +[decodeuricomponent[]]

[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuricomponent[]]

DefaultTiddlers

 6 marzo 2018 a las 16:12

"Default tiddlers" refers to the list of tiddlers that is opened at startup in the browser if the address bar does not include a permalink).

At startup, the text of the system tiddler $:/DefaultTiddlers is retrieved and evaluated as a filter expression. The resulting list of titles is then inserted into the story river.

The control panel info/basics tab includes a text box for direct access to $:/DefaultTiddlers.

Definitions

 25 agosto 2013 a las 15:51

Definitions in WikiText

 5 diciembre 2013 a las 16:04

HTML definition lists are created with this syntax:

; Term being defined
: Definition of that term
; Another term
: Another definition

Tiene este aspecto:

Term being defined
Definition of that term
Another term
Another definition

... y su código HTML es:

<dl><dt>Term being defined</dt><dd>Definition of that term</dd><dt>Another term</dt><dd>Another definition</dd></dl>

DeleteTiddlersCommand

 30 mayo 2019 a las 16:54

New in: 5.1.20 Elimina un grupo de tiddlers identificados por un filtro.

--deletetiddlers <filter>

Demo Tiddler List with Custom Story Tiddler Template

 4 diciembre 2021 a las 13:16

This is a demo tiddler with a custom story tiddler template that displays the tiddlers named in the list field as a fan.

See How to create a custom story tiddler template for details.

Demonstration: keyboard-driven-input Macro

 23 noviembre 2021 a las 3:45

The keyboard-driven-input Macro is used to create filtered lists that update as the user types. It also allows navigating the lists, and invoking macros using list items, with the keyboard.

It consists of an edit-text widget wrapped in keyboard widgets. There are keyboard widgets to listen for ((input-accept)), ((input-accept-variant)), and ((input-cancel)) keyboard shortcuts, but there is no default behaviour in response to these events; macros must be written to suit the use-case. There is also no default visualisation of the filtered options list.

Types of keyboard input handled by the keyboard-driven-input macro:

Non-configurable:

The following keyboard events invoke macros defined alongside keyboard-driven-input in $:/core/macros/keyboard-driven-input.

InputPurposeMacro
typing inputcomposing a string to be used within list filterskeyboard-input-actions
((input-up)) ( Up )temporarily selecting the previous item in the filtered listinput-next-actions with parameters afterOrBefore="before", reverse="reverse[]"
((input-down)) ( Down )temporarily selecting the next item in the filtered listinput-next-actions with afterOrBefore="after", reverse=""

All of the above actions generate or modify data which keyboard-driven-input keeps in tiddlers specified using the macro's parameters. The data can then be accessed not only by the macros invoked by keyboard shortcuts, but also outside of these, e.g. a macro to display the filtered list(s).

Configurable through parameters:

The following keyboard events invoke macros whose names are specified in parameters to keyboard-driven-input. The intended purpose is suggested by the parameter name, but there are no default macros defined within $:/core/macros/keyboard-driven-input.

Keyboard shortcut descriptor Key combinationParameter
((input-accept)) Enter inputAcceptActions
((input-accept-variant)) ctrl-Enter inputAcceptVariantActions
((input-cancel)) Escape inputCancelActions

keyboard-driven-input can be seen in action as part of various core features in TiddlyWiki, e.g.: the search feature, the tag-picker Macro, and dropdown interfaces in the Editor toolbar such as Insert link.

Minimal ingredients for a demonstration

Keeping in mind that the keyboard-driven-input macro does not, by itself, display list results, or do anything with a selected option, a minimal demonstration of the keyboard-driven-input macro requires:

  1. a tiddler, containing a filter whose results depend on the user's text input, to generate the options from which the user can select
  2. several parameters:
    • a filter to return the title of the tiddler where the filter described in step 1 can be found, and
    • tiddler titles to use for storing state information in response to input events. These tiddlers do not need to exist already. If they do exist, the keyboard-driven-input macro will change their contents.

The search filter(s)

By default, keyboard-driven-input will look for filters in the first-search-filter and second-search-filter fields of a tiddler (whose title is specified by a parameter discussed below).

This filter can refer to a variable called userInput, which shows the contents of the edit-text widget, as stored in a state tiddler (discussed below), at the time of the latest Up or Down event.

Note: If this filter is to be referred to in a context outside the keyboard-driven-input macro (such as in a popup showing the filtered options), the variable userInput has to be defined in those contexts as well (by reading it from a state tiddler).

Minimal parameters

Parameter nameNotes
configTiddlerFilterThis is a filter, rather than a tiddler title, allowing conditional behaviour (e.g. checking for an active tab, or preferring a filter that may not be present, with a fallback).
The title returned must belong to an existing tiddler, containing at least one filter with which keyboard-driven-input can generate its results list.
tiddlerThis tiddler contains either the typed input, or the instantaneous result selection, depending upon the most recent event. It is updated with each keystroke in the edit-text widget, and when the user uses the Up or Down key to cycle through filtered results.
storeTitleThis tiddler always reflects the user input (transcluded from the tiddler tiddler after each keystroke into the edit-text widget).
selectionStateTitleThis tiddler is updated on Up or Down events and contains either the user input with the suffix -userInput, or the instantaneous selection with the suffix -primaryList or -secondaryList, depending on which of up to two filters generated the list it came from.

Demonstration setup

I have created a tiddler called kdi-demo-configtid and put the following filter into its first-search-filter field:

[!is[system]search:title<userInput>sort[]].

This filters for non-system tiddlers whose titles contain the text the user has typed.

To use the above filter with keyboard-driven-input, the value of the parameter configTiddlerFilter should be a filter that returns kdi-demo-configtid.

I can select tiddler, storeTitle, and selectionStateTitle fairly arbitrarily (just making sure not to use titles of tiddlers that I do not want changed).

This demonstration can now be invoked with the following macro call:

<$macrocall $name=keyboard-driven-input 
        tiddler="kdi-demo-tiddler"
        storeTitle="kdi-demo-storeTitle" 
        selectionStateTitle="kdi-demo-selectionStateTitle" 
        configTiddlerFilter="[[kdi-demo-configtid]]" 
 />

Demo

Try typing in here:

Observe the changes in the various state tiddlers in the below table. Use Up and Down keys to navigate among filter results. If nothing changes, try a shorter input to widen the filter. If the input has zero length, the list will contain all non-system tiddlers.

Parameter nameTiddler titleContents of text field of the tiddler
tiddlerkdi-demo-tiddler
storeTitlekdi-demo-storeTitle
selectionStateTitlekdi-demo-selectionStateTitle

The keyboard-driven-input macro has many parameters available, including all the attributes of the enclosed edit-text widget, which make it very flexible in how it is used and how results can be displayed and interacted with.

See also: Customising search results and $:/core/ui/DefaultSearchResultList

Deprecated - What does it mean

 4 julio 2022 a las 18:42

Deprecated features of TiddlyWiki are those that have been superseded by newer, improved ways of doing the same thing.

Deprecated features will still work, but are not recommended for new content.

Deprecated features are marked with a special warning button. See: How to apply custom styles by tag for an example.

Tiddlers tagged $:/deprecated

deserialize Operator

 27 junio 2023 a las 10:41
purposeextract JSON representation of tiddlers from the input strings
inputa selection of strings
parameterthe deserializer module to be used to extract tiddlers from the input
outputJSON representations of tiddlers extracted from input titles.

Learn more about how to use Filters

New in: 5.3.0

Deserializer modules parse text in various formats into their JSON representation as tiddlers. The deserializer modules available in a wiki can be seen using the deserializers operator and can be used with the deserialize Operator.

The TiddlyWiki core provides the following deserializers:

DeserializerDescription
(DOM)Extracts tiddlers from a DOM node, should not be used with the deserialize[] operator
application/javascriptParses a JavaScript module as a tiddler extracting fields from the header comment
application/jsonParses JSON into tiddlers
application/x-tiddlerParses the .tid file format as a tiddler
application/x-tiddler-html-divParses the <DIV>.tiddler file format as a tiddler
application/x-tiddlersParses the MultiTiddlerFile format as tiddlers
text/cssParses CSS as a tiddler extracting fields from the header comment
text/htmlParses an HTML file into tiddlers. Supports TiddlyWiki Classic HTML files, TiddlyWiki5 HTML files and ordinary HTML files
text/plainParses plain text as a tiddler

Examples

deserialize Operator (Examples)

 2 junio 2023 a las 11:50

This example uses the predefined variable html-data:

<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Test Data</title>
</head>
<body>

<!--~~ Ordinary tiddlers ~~-->
<div id="storeArea" style="display:none;"><div title="Hello &quot;There&quot;" type="text/vnd.tiddlywiki">
<pre>Abacus</pre>
</div>
</div>
<script class="tiddlywiki-tiddler-store" type="application/json">[{"title":"Hello \"There\"","text":"Calculator"},{"title":"Hello \"There\"","text":"Protractor"}]</script>
</body>
</html>

[<html-data>deserialize[text/html]]

Deserializers

 27 junio 2023 a las 10:43

Deserializer modules parse text in various formats into their JSON representation as tiddlers. The deserializer modules available in a wiki can be seen using the deserializers operator and can be used with the deserialize Operator.

The TiddlyWiki core provides the following deserializers:

DeserializerDescription
(DOM)Extracts tiddlers from a DOM node, should not be used with the deserialize[] operator
application/javascriptParses a JavaScript module as a tiddler extracting fields from the header comment
application/jsonParses JSON into tiddlers
application/x-tiddlerParses the .tid file format as a tiddler
application/x-tiddler-html-divParses the <DIV>.tiddler file format as a tiddler
application/x-tiddlersParses the MultiTiddlerFile format as tiddlers
text/cssParses CSS as a tiddler extracting fields from the header comment
text/htmlParses an HTML file into tiddlers. Supports TiddlyWiki Classic HTML files, TiddlyWiki5 HTML files and ordinary HTML files
text/plainParses plain text as a tiddler

deserializers Operator

 27 junio 2023 a las 10:42
inputignored
parameternone
outputthe title of each available deserializer

Learn more about how to use Filters

New in: 5.2.0

You can specify a specific deserializer for a DropzoneWidget to use

Examples

deserializers Operator (Examples)

 6 mayo 2021 a las 12:54

[deserializers[]]

Deutsch (Deutschland) Edition

 19 septiembre 2014 a las 22:58

Deutsch (Österreich) Edition

 19 septiembre 2014 a las 22:59

Die österreichische Übersetzung von TiddlyWiki ist verfügbar unter:

Siehe auch: Deutsch (Deutschland) Edition.

Developers

 22 diciembre 2020 a las 11:47

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Tiddlers diccionario

 11 mayo 2016 a las 6:58

Un tiddler diccionario es un tiddler de datos que contiene una simple lista de pares de nombre-valor.

Su tipo es application/x-tiddler-dictionary.

El campo text consta de una o más líneas con el formato name: value.

Una paleta de colores, es un ejemplo de diccionario.

DiffTextWidget

 16 marzo 2018 a las 16:27

Introduction

New in: 5.1.16 The diff text widget analyses the differences between a pair of source and destination text strings and displays the results as highlighted insertions and deletions (similar to the "track changes" function of a word processor). For example:

8 diferencias
Hey Jude, don't make it bad. Take a sad song and make it better. Remember tobe afraid. You were made to go out and get her. The minute you let her intounder your heart↩︎
skin. Then you can startbegin to make it better.

Content and Attributes

Content

The content of the <$diff-text> widget is rendered immediately before the diffs. Within it, the variable diff-count is available, containing the number of differences found. If the widget has no content then it automatically transcludes the tiddler $:/language/Diffs/CountMessage.

In other words, these three invocations are all equivalent:

<$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}>
{{$:/language/Diffs/CountMessage}}
</$diff-text>

<$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}>
</$diff-text>

<$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}/>

Attributes

AttributeDescription
sourceThe source text
destThe destination text
cleanupSee below

The cleanup attribute determines which optional post-processing should be applied to the diffs:

  • none: no cleanup is performed
  • semantic (default): rewrites the diffs for human readability
  • efficient: rewrites the diffs to minimise the number of operations for subsequent processing

(Note that in many cases the results will be the same regardless of the cleanup option. See the docs of the underlying library for more details).

Examples

In this example we compare two texts:

<$edit-text tiddler="SampleTiddlerFirst"/>

<$edit-text tiddler="SampleTiddlerSecond"/>

<$diff-text source={{SampleTiddlerFirst}} dest={{SampleTiddlerSecond}}/>

Este es su aspecto:

4 diferencias
This is a test tiddler is called SampleTiddlerFirstSecond.

Disabling Plugins

 15 octubre 2016 a las 13:17

Disabling Plugins

Plugins can be disabled by creating a tiddler titled $:/config/Plugins/Disabled/ concatenated with the plugin title, and setting its text to yes.

For example, to disable the plugin $:/plugins/tiddlywiki/highlight, the title would be:

$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/highlight

Descubre TiddlyWiki

 16 abril 2016 a las 12:22

Nunca has visto nada parecido a esto. TiddlyWiki es:

una herramienta,
una caja de herramientas,
una comunidad
y toda una filosofía

TiddlyWiki es una herramienta

TiddlyWiki es, antes que nada, una herramienta libre y gratuita que se puede descargar para capturar y organizar contenidos: de la web, de tus documentos o directamente de tu cerebro. Es una herramienta para tomar notas, marcar y fijar referencias, escribir, administrar proyectos y tareas, colaborar en equipo, escribir un blog o publicar.

En TiddlyWiki creas o pegas contenidos en notas que llamamos tiddlers y las conectas entre sí con enlaces y etiquetas, de modo que puedas recuperarlas rápidamente mediante TagPills, pestañas y la ventana ultrarrápida de búsqueda de TIddlyWiki. También puedes incluir dinámicamente el contenido de un tiddler dentro de otro –como si jugaras con bloques de construcción– para crear artículos, listas, presentaciones y más.

TiddlyWiki es una caja de herramientas

Además de una herramienta versátil, TiddlyWiki es también una caja de herramientas

Donde otros productos para tomar notas te enganchan con un programa muy básico y luego te cobran por las características realmente útiles, TiddlyWiki cuenta con una creciente colección totalmente gratuita de temas visuales, paletas de color, plugins, widgets y macros que puedes combinar como prefieras para obtener un TiddlyWiki a medida y de la forma que tú y sólo tú quieres.

TiddlyWiki es también una comunidad online

Somos una comunidad de usuarios y desarrolladores que se ayuda mutuamente a imaginar nuevas formas de pensar, organizar y crear nuevas soluciones, de modo que TiddlyWiki evoluciona y se adapta contínuamente a tus necesidades. Los usuarios y desarrolladores de TiddlyWiki compartimos preguntas y consejos en el Grupo de Google de TiddlyWiki. También creamos tutoriales, adaptaciones y plugins para mejorar la experiencia de uso de TiddlyWiki. En la sección Comunidad del índice encontrarás más información al respecto.

Finalmente TiddlyWiki es una filosofía

El propósito de tomar notas y organizarlas es el poder recuperarlas más tarde para su uso. Si no hay forma de encontrar lo que buscas en el momento en que lo necesitas, tu programa de notas es, sencillamente, una monumental pérdida de tiempo.

Para la filosofía de TiddlyWiki, la mejor forma de tomar notas es fragmentando la información en sus unidades semánticas significativas más pequeñas. A estas unidades las llamamos tiddlers. Un tiddler puede ser una imagen, la dirección de una página, un concepto, la definición de un término o una adaptación especial, como, por ejemplo, una macro.

Estos tiddlers pueden luego entretejerse para crear con ellos unidades mayores de información: historias, artículos, listas, galerías de imágenes y mucho más. Las herramientas de TiddlyWiki como etiquetas, enlaces y filtros están especialmente diseñadas para relacionar y conectar tiddlers entre sí de múltiples maneras, facilitando así la futura recuperación de notas y permitiendo incluso descubrir relaciones inesperadas entre tiddlers y la información que contienen.

Disqus comments plugin by bimlas

 6 enero 2021 a las 15:10

Use this plugin to give your visitors the opportunity to comment on your tiddlers without changing the wiki itself.

Disqus is a networked community platform used by hundreds of thousands of sites all over the web. With Disqus, your website gains a feature-rich comment system complete with social network integration, advanced administration and moderation options, and other extensive community functions.

https://bimlas.gitlab.io/tw5-disqus/

divide Operator

 11 junio 2019 a las 13:59
purposetreating each input title as a number, divide them by the numeric value of the operand
inputa selection of titles
parameterN = a number
outputthe input as numbers, but with each one divided by N

Learn more about how to use Filters

divide Operator (Examples)

 11 junio 2019 a las 14:01

[[355]divide[113]]

=1 =2 =3 =4 +[divide[2]]

Document Object Model

 28 febrero 2015 a las 13:40

The DOM of a web page is a tree-shaped model of its content, maintained internally by the web browser as the user interacts with that content. Each point in the tree is called a node.

When TiddlyWiki is running in a web browser, its widgets are rendered into DOM nodes for display.

When TiddlyWiki is running on Node.js, it uses a fake DOM to simulate the behaviour of a browser.

Macros para documentación

 11 mayo 2016 a las 16:42

Las siguientes son macros utilizadas en la documentación de TiddlyWiki. Sus nombres comienzan con un punto para mantenerlas fuera del alcance accidental de nombres con los que el usuario pueda intentar experimentar.

Generales

MacroSe usa paraEjemplo
.defdefinición de un términowidget
.eménfasis menor en una frasecualquiera
.strongénfasis mayor en un tiddler¡Importante!
.placetexto comodíntagname
.wordmencionar una palabra o frase"hello world"

Advertencias

MacroSe usa paraEjemplo
.tipseñalar consejos y recomendaciones
Enciende la pantalla o no verás nada
.warningseñalar advertencias
Haz copia de seguridad antes de actualizar

Bloques

MacroSe usa para
.preambleenfatizar un preámbulo o un párrafo que sobresale del resto del texto

Ejemplo:

Esto es un ejemplo de bloque de preámbulo. Para que su visualización sea la correcta, debe constar de un único párrafo, separado del resto del texto por enters. No admite su inclusión en tablas ni la inclusión de macros, pero sí enlaces y formato en WikiText

Tiddlers y campos

MacroSe usa paraEjemplo
.tidreferirse al título de un tiddlerTítulo de ejemplo
.tagreferirse a una etiquetaEtiqueta de ejemplo
.fieldreferirse al campo de un tiddlercampo de ejemplo
.valuereferirse al valor de un campovalor de ejemplo
.opreferirse a un operador de filtrobacklinks
.varreferirse a una variable o nombre de macrocurrentTiddler
.widreferirse al nombre de un widget$list
.attrreferirse al nombre de un atributofilter
.paramreferirse al nombre de un parámetro de macrotext

Enlaces

MacroSe usa paraEjemplo
.linkseñalar enlaces con WikiTextesto es wikitext
.clinkseñalar links con formato de código<$list>
.dlinkseñalar links internos con formato de definiciónwidget
.dlink-exseñalar links externos con formato de definiciónEjemplo
.flinkseñalar enlaces a camposlist
.mlinkseñalar enlaces a macrosqualify
.mlink2señalar enlaces a macros, con targets específicosfoo
.olinkseñalar enlaces a operadores de filtroprefix
.olink2señalar enlaces a operadores de filtro con targets específicosfoo
.vlinkseñalar enlaces a variablescurrentTiddler
.vlink2señalar enlaces a variables, con targets específicosfoo
.wlinkseñalar enlaces a widgets$button
.wlink2señalar enlaces a widgets con texto específicofoo

Interfaz de usuario

MacroSe usa paraEjemplo
.keyindicar una tecla del tecladoEscape
.keycomboindicar combinaciones de teclasCtrl+Enter

Pestañas

MacroSe usa paraEjemplo
.sidebar-tabinvocar el nombre de una pestaña de la barra lateralMás
.more-tabinvocar el nombre de una subpestaña de la pestaña MásOcultos
.info-tabinvocar el nombre de una pestaña del InfoPanelCampos
.controlpanel-tabinvocar el nombre de una pestaña del Panel de ControlConfiguración
.advancedsearch-tabinvocar el nombre de una pestaña del cuadro de búsqueda avanzadaFiltro
.toc-tabinvocar el nombre del índice de tw5.comContenido
.example-tabindicar un ejemplo de nombre de pestañaEjemplo

Parámetros de .sidebar-tab

OpenAbiertos
RecentRecientes
ToolsHerramientas
MoreMás

Parámetros de .more-tab

AllTodos
RecentRecientes
TagsEtiquetas
MissingVacíos
DraftsBorradores
OrphansHuérfanos
TypesTipos
SystemSistema
ShadowsOcultos

Parámetros de .info-tab

ToolsHerramientas
ReferencesReferencias
TaggingEtiquetado
ListLista
ListedEn lista de
FieldsCampos
AdvancedAvanzado

Parámetros de .controlpanel-tab

InfoInformación
AppearanceAspecto
SettingsConfiguración
SavingGuardando
PluginsComplementos

Parámetros de .advancedsearch-tab

StandardEstándar
SystemSistema
ShadowsOcultos
FilterFiltro

Botones

MacroSe usa paraEjemplo
.buttoninsertar el nombre y el icono de un botón estándar Nuevo tiddler

Parámetros de .button

Barra de tiddler

clone Clonar
close Cerrar
close-others Cerrar los demás
edit Editar
export-tiddler Exportar tiddler
info Información
more-tiddler-actions Más
new-here Nuevo aquí
new-journal-here4 Entrada nueva aquí
permalink Enlace permanente

Barra de edición

cancel Cancelar
delete Borrar
save Vale

Barra de página

advanced-search Búsqueda avanzada
close-all Cerrar todo
control-panel Panel de Control
encryption Cifrado
export-page Exportar todos
full-screen Pantalla completa
home Inicio
import Importar
language Idioma
more-page-actions Más
new-journal4 Nueva entrada
new-tiddler Nuevo tiddler
permaview Permaview
refresh Recargar
save-wiki Guardar cambios
storyview Vista
tag-manager Administrador de etiquetas
theme Tema

Guía de estilo para documentación

 18 abril 2016 a las 15:19

La documentación de TiddlyWiki intenta seguir un estilo editorial consistente. Consta de dos áreas, cada una de ellas con su propio tono y dirigida a un público específico, así evitamos saturar de información al lector principiante mientras aún podemos ofrecer acceso rápido a la información que el lector experto necesita.

Temas adicionales:

Anexión dominante

 21 abril 2016 a las 7:21

Los filtros manipulan conjuntos de títulos en los que ningún título puede aparecer más de una vez. Muchas veces necesitan anexar unos conjuntos a otros.

En estos casos, la anexión se realiza de modo que si hubiera un título duplicado, se descarta el más antiguo y decimos que los títulos así anexados son dominantes.

Por ejemplo: si una selección contiene los títulos A, B, C, D y se anexa la selección compuesta por A, BB, C, DD, el resultado es B, D, A, C, BB, DD (En primer lugar, los títulos no duplicados de la primera selección, en segundo, la versión más nueva de los duplicados y en último, los no duplicados de la segunda selección).

done

 15 noviembre 2021 a las 1:33

DraftMechanism

 20 agosto 2013 a las 14:24

Tiddlers that have a draft.of field are treated as pending drafts of the tiddler specified in the field. Draft tiddlers should also have a draft.title field that specifies the title that will be given to the tiddler when it is saved.

Several features work in concert to give the desired behaviour for draft tiddlers:

  • The ListWidget can optionally render draft tiddlers through a different template
  • The NavigatorWidget incorporates handlers for the following events:
    • tm-new-tiddler for creating a new tiddler in draft mode
    • tm-edit-tiddler for moving a tiddler into edit mode
    • tm-cancel-tiddler for cancelling a tiddler out of edit mode
    • tm-save-tiddler for saving a draft tiddler
  • Draft tiddlers are automatically excluded from search operations

Drag and Drop

 28 marzo 2017 a las 18:38

TiddlyWiki uses drag and drop to power two separate features:

Tiddler manipulation via drag and drop is supported by the core user interface in the following contexts:

  • Entries in the "Open" tab of the sidebar can be reordered by drag and drop; new tiddlers can be opened by dragging their titles into the list
  • Entries within a tag pill dropdown can be reordered by drag and drop; new tiddlers can be assigned the tag by dragging their titles into the list
  • Entries in the control panel "Appearance"/"Toolbars" tab can be reordered by drag and drop. (Less usefully, new entries can be added to the toolbars by dragging their titles into the list)

All tiddler links are draggable by default. They can be dragged within a browser window for manipulating tiddlers, or dragged to a different browser window to initiate an import operation

If you want to drag a link, first move it vertically, because horizontal movement is recognized by the browser as text selection.

Tag pills are also draggable, and are equivalent to simultaneously dragging all of the individual tiddlers carrying the tag.

Some common scenarios for drag and drop tiddler manipulation are available as reusable macros:

See DragAndDropMechanism for details of how to use the low level drag and drop primitives to build more complex interactions.

The standard HTML 5 drag and drop APIs used by TiddlyWiki are not generally available on mobile browsers on smartphones or tablets. The Mobile Drag And Drop Shim Plugin adds an open source library that implements partial support on many mobile browsers, including iOS and Android.

DragAndDropMechanism

 6 abril 2017 a las 9:58

This tiddler discusses the internal mechanisms that are used to implement drag and drop features in TiddlyWiki. See Drag and Drop for a general description of the features.

TiddlyWiki uses the standard HTML 5 drag and drop APIs. However, this is an area that is rightly notorious for cross-browser compatibility problems. Therefore, some features that you might expect to work won't necessarily work in all browsers. In particular,

The following widgets are concerned with drag and drop features:

The general sequence of a drag and drop operation is as follows:

  1. The user clicks down and drags the pointer on a draggable element such as the DraggableWidget, ButtonWidget or LinkWidget
  2. The draggable element moves with the mouse pointer until the click is released
  3. Moving the pointer over droppable elements such as the DroppableWidget displays a highlight indicating that the item can be dropped
  4. The configured actions are performed if the drag ends on a droppable element

DraggableWidget

 15 julio 2022 a las 13:02

The DraggableWidget creates a DOM element that can be dragged by the user. It only works on browsers that support drag and drop, which typically means desktop browsers, but there are workarounds.

The draggable element can be assigned a list of tiddlers that are used as the payload. If desired it can invoke actions when dragging starts and when it ends. See DragAndDropMechanism for an overview.

Content and Attributes

AttributeDescription
tiddlerOptional title of the payload tiddler for the drag
filterOptional filter defining the payload tiddlers for the drag
tagOptional tag to override the default "div" element created by the widget
selector New in: 5.2.2 Optional CSS Selector to identify a DOM element within the widget that will be used as the drag handle
classOptional CSS classes to assign to the DOM element created by the widget. The class tc-draggable is added to the the DOM element created by the widget unless the selector attribute is used. The class tc-dragging is applied to the DOM element created by the widget while the element is being dragged
enable New in: 5.2.3 Optional value "no" to disable the draggable functionality (defaults to "yes")
startactionsOptional action string that gets invoked when dragging starts
endactionsOptional action string that gets invoked when dragging ends
dragimagetype New in: 5.2.0 Optional type of drag image: dom (the default) or blank to disable the drag image

Either or both of the tiddler and filter attributes must be specified in order for there to be a payload to drag.

The actionTiddler Variable is accessible in both startactions and endactions. It holds the payload tiddler(s) specified through the tiddler and filter attributes as a Title List using double square brackets to quote titles that include whitespace.

Note that the actionTiddler Variable holds a Title List quoted with double square brackets. This is unlike the DroppableWidget which uses the same variable to pass a single unquoted title.

When specifying a DOM node to use as the drag handle with the selector attribute, give it the class tc-draggable in order for it to have the appropriate cursor and the attribute draggable with the value true to make it draggable.

The LinkWidget incorporates the functionality of the DraggableWidget via the draggable attribute.

New in: 5.2.3 The following variables are accessible in the startactions and the endactions:

VariablesDescription
modifierThe modifier Variable contains the Modifier Key held while dragging
dom-*All DOM attributes of the node being dragged are made available as variables, with the prefix dom-
tv-popup-coordsA relative co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see Coordinate Systems for more information)
tv-popup-abs-coords New in: 5.2.4 An absolute co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see Coordinate Systems for more information)
tv-selectednode-posxx offset position of the dragged DOM node
tv-selectednode-posyy offset position of the dragged DOM node
tv-selectednode-widthoffsetWidth of the dragged DOM node
tv-selectednode-heightoffsetHeight of the dragged DOM node
event-fromselected-posxx position of the event relative to the dragged DOM node
event-fromselected-posyy position of the event relative to the dragged DOM node
event-fromviewport-posxx position of the event relative to the viewport
event-fromviewport-posyy position of the event relative to the viewport

DroppableWidget

 9 octubre 2021 a las 13:20

The droppable widget creates a DOM element onto which dragged items can be dropped by the user, triggering the specified actions. It only works on browsers that support drag and drop, which typically means desktop browsers, but there are workarounds.

See DragAndDropMechanism for an overview.

Content and Attributes

AttributeDescription
actionsActions to be performed when items are dropped
classOptional CSS classes to assign to the draggable element. The class tc-droppable is added automatically, and the class tc-dragover is applied while an item is being dragged over the droppable element
tagOptional tag to override the default of a "div" element when the widget is rendered in block mode, or a "span" element when it is rendered in inline mode
enable New in: 5.1.22 Optional value "no" to disable the droppable functionality (defaults to "yes")

Within the action string, there are two Variables generated by the DroppableWidget:

If multiple items are dropped then the actions are performed repeatedly, once for each dropped item.

Note that the actionTiddler Variable holds a single, unquoted title. This is unlike the DraggableWidget which uses the same variable to pass a quoted Title List.

Examples

This example displays a palette of icons. Dragging a tiddler onto one of the icons assigns that icon to the tiddler.

4

Similarly, this example shows a palette of colours. Dragging a tiddler onto one of the colours assigns that colour to be used for rendering the icon of the tiddler.

DropzoneWidget

 9 octubre 2021 a las 13:22

Introduction

The dropzone widget creates an area into which the user can drag files and other objects. It also supports pasting via the clipboard, although browser support is currently limited.

It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers to be imported up through its parents. This message usually trapped by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.

Content and Attributes

AttributeDescription
deserializer New in: 5.1.15 Optional name of deserializer to be used (by default the deserializer is derived from the file extension)
enable New in: 5.1.22 Optional value "no" to disable the dropzone functionality (defaults to "yes")
class New in: 5.1.22 Optional CSS class to be assigned to the DOM node created by the dropzone (defaults to "tc-dropzone")
autoOpenOnImport New in: 5.1.23 Optional value "no" or "yes" that can override tv-auto-open-on-import
importTitle New in: 5.1.23 Optional tiddler title to use for import process instead of $:/Import
actions New in: 5.2.0 Optional actions string to be invoked after the tm-import-tiddlers message has been sent. The variable importTitle provides the title of the tiddler used for the import process.
contentTypesFilter New in: 5.2.0 Optional filter that specifies the content types accepted by the dropzone.
filesOnly New in: 5.2.0 Optional. When set to "yes", the dropzone only accepts files and not string data. Defaults to "no"

Use the prefix filter operator to easily accept multiple related content types. For example this filter will accept all image content types: [prefix[image/]]

The list of available deserializers can be seen by using the filter [deserializers[]] in the Filter tab in Advanced Search.

The dropzone widget displays any contained content within the dropzone.

Display

The dropzone widget creates an HTML <div class="tc-dropzone"> to contain its content. During a drag operation the class tc-dragover is added. CSS is used to provide user feedback. For custom styling of this state where a drag is in progress, specify a custom class name with the class attribute and use CSS with the selector .myclass.tc-dragover.

Data types supported

The following data transfer types are supported:

  • text/vnd.tiddler - a list of tiddlers in JSON format (this format is generated by the LinkWidget)
  • text/plain - plain text
  • text/uri-list - a list of URIs as a single tiddler

dumpvariables Macro

 21 febrero 2015 a las 15:14

The dumpvariables macro returns a table showing the values of all variables and macros that exist at that position in the widget tree.

It is useful for debugging and exploring TiddlyWiki's internals.

Placeholders are replaced with values in the normal way, but using the default values for all macro parameters.

Parameters

(none)

Examples

dumpvariables Macro (Examples)

 21 febrero 2015 a las 15:14

<$set name="EXAMPLE" value="123..789">
<$set name="EXAMPLE2" value="456">

<<dumpvariables>>

</$set>
</$set>

duplicateslugs Operator

 9 mayo 2020 a las 15:17
purposefind titles that yield duplicate slugs
inputa selection of titles
outputinput titles that yield duplicate slugs

Learn more about how to use Filters

New in: 5.1.23 The slugify operator can be used to transform arbitrary tiddler titles into human readable strings suitable for use in URLs or filenames. However, it is possible for multiple different titles to slugify to the same string. The duplicateslugs operator can be used to display a warning. For example:

<$list filter="[!is[system]duplicateslugs[]limit[1]]" emptyMessage="There are no duplicate slugs">
The following tiddlers have duplicate slugs:

<ul>
<$list filter="[!is[system]duplicateslugs[]]">
<li><$link><$text text=<<currentTiddler>>/></$link></li>
</$list>
</ul>
</$list>

Este es su aspecto:

The following tiddlers have duplicate slugs:

Dynaview Plugin

 13 noviembre 2018 a las 8:41

The Dynaview Plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming:

  • CSS classes that allow rendering to be deferred until the output is scrolled into view
  • CSS classes that allow the opacity of DOM elements to vary according to the current zoom level

See the demo at https://tiddlywiki.com/plugins/tiddlywiki/dynaview

each Operator

 9 diciembre 2019 a las 8:59
purposeselect one of each group of input titles by field
inputa selection of titles
suffixoptionally, list-item or value
parameterF = the name of a field, defaulting to title
outputa selection containing the first input title encountered for each distinct value of field F

Learn more about how to use Filters

Each input title is processed in turn. The value of field F in the corresponding tiddler is examined.

each
As long as the value of the field is unique (i.e. has not been encountered before), the title is appended to the output.
each:list-item
The value is treated as a title list. Each title in the list considered in turn. If it has not been encountered before, it is appended to the output.
each:value
As long as the title is unique it is appended to the output whether or not the corresponding tiddler exists.

Note that if a tiddler does not contain field F, it is treated as if the value of the field were empty. Thus, a filter expression such as [each[motovun]] will return one tiddler that doesn't have a motovun field, as well as one tiddler with each distinct value of that field, if any. To obtain just the tiddlers that have a non-blank value for the motovun field one can use [each[motovun]has[motovun]].

Examples

each Operator (Examples)

 18 enero 2015 a las 18:31

[each[color]]

[sort[title]each[type]]
→ the alphabetically first tiddler of each type

[each:list-item[list]]
→ all tiddlers listed anywhere in the core list field

[[Non existing]] [[GettingStarted]] +[each:value[]]
→ Compare this to +[each[]] below

[[Non existing]] [[GettingStarted]] +[each[]]
→ Compare this to +[each:value[]] above

For an example of using the each operator to generate a two-tier list of groups and members, see GroupedLists.

eachday Operator

 10 febrero 2015 a las 16:16
purposeselect one of each group of input titles by date
inputa selection of titles
parameterF = the name of a date field, defaulting to modified
outputa selection containing the first input title encountered for each distinct value (ignoring times of day) of field F

Learn more about how to use Filters

Each input title is processed in turn. The value of field F in the corresponding tiddler is examined, and as long as this indicates a date that has not been encountered before, the title is appended to the output.

If a tiddler doesn't contain field F, it contributes nothing to the output.

Examples

eachday Operator (Examples)

 18 enero 2015 a las 18:31

[eachday[created]]
→ the first tiddler created on each day

For an example of using the eachday operator to generate a two-tier list of groups and members, see GroupedLists.

Edición en Castellano

 11 mayo 2016 a las 17:02

La edición española de TiddlyWiki se encuentra aquí:

Edit Template Body Cascade

 6 diciembre 2021 a las 16:19

The edit template body cascade is a cascade used by the default edit template to choose the template for displaying the tiddler body.

The core edit template body cascade can be found in $:/core/ui/EditTemplate/body

The default edit template body cascade consists of:

  1. If the tiddler has the field _canonical_uri then use the template $:/core/ui/EditTemplate/body/canonical-uri to display the remote URL
  2. Otherwise, use the template $:/core/ui/EditTemplate/body/default which provides the default editing interface

You can see the current settings for the view template body cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> Edit Template Body tab.

    EditBitmapWidget

     20 febrero 2015 a las 16:21

    Introduction

    The edit bitmap widget provides a user interface in the browser for editing bitmap tiddlers.

    Content and Attributes

    The content of the <$edit-bitmap> widget is ignored.

    AttributeDescription
    tiddlerThe tiddler to edit (defaults to the current tiddler)

    Configuration

    The edit bitmap widget can be configured with these system tiddlers:

    Editar tiddlers con Emacs

     18 abril 2016 a las 5:43

    Michael Fogleman ha escrito tid-mode, un modo de edición para Emacs con el fin de editar los archivos .tid de TiddlyWiki. Deriva de text-mode, se vale de los útiles minor modes org-struct y subword y actualiza los tiempos de modificación al guardar un archivo .tid.

    Redactó también dos funiones de ayuda para editar TiddlyWiki con Emacs. El primero abre un directorio de tiddlers en Dired. El segundo abre TiddlyWiki en el navegador.

    (defun open-wiki ()
      "Abre un directorio de TiddlyWiki en Dired."
      (interactive)
      (dired "~/Dropbox/wiki/tiddlers/"))
    (defun browse-wiki ()
      "Abre TiddlyWiki en el navegador."
      (interactive)
      (browse-url "127.0.0.1:8080/"))

    Esta última función puede requerir que se indique un navegador:

    (setq browse-url-browser-function 'browse-url-generic
          browse-url-generic-program "chromium")

    Puedes vincular cualquiera de estas funciones con la función global-set-key:

    (global-set-key (kbd "C-c w") 'open-wiki)

    Por el momento, no están integradas en tid-mode.

    Editar tiddlers con Vim

     19 abril 2016 a las 10:11

    Devin Weaver ha escrito un plugin para Vim, publicado en https://github.com/sukima/vim-tiddlywiki

    Soporta la mayor parte de la sintaxis de TiddlyWiki e incluye un plugin que actualiza automáticamente el campo modified.

    Édition en Français (France)

     23 noviembre 2014 a las 16:29

    La traduction en Français (France) de TiddlyWiki démarre ici :

    editiondescription Operator

     3 febrero 2015 a las 18:45
    purposeselect the descriptions of the input editions
    inputa selection of edition names
    parameternone
    outputthe description string of each edition in the input

    Learn more about how to use Filters

    Each input title is processed in turn, ignoring any that is not the name of a TiddlyWiki edition.

    Note
    This operator is not available when TiddlyWiki is running in a web browser.

    Ediciones de TiddlyWiki

     3 mayo 2016 a las 17:57

    TiddlyWiki se distribuye en distintas ediciones, especialmente concebidas para servir a un propósito determinado.

    Una edición consta de los componentes del núcleo de TiddlyWiki, así como plugins, documentación y ejemplos de contenido para que puedas ponerte en marcha lo antes posible.

    Los componentes de las diferentes ediciones pueden combinarse y modificarse de modo que construyas la mejor solución para tu aplicación particular.

    Conviene no confundir las ediciones en que se presenta TiddlyWiki con las plataformas en las que funciona, como HTML único, o aplicación de Node.js

    editions Operator

     3 febrero 2015 a las 18:46
    purposeselect the names of all the TiddlyWiki editions
    inputignored
    parameternone
    outputthe name of each TiddlyWiki edition, in alphabetical order

    Learn more about how to use Filters

    Note
    This operator is not available when TiddlyWiki is running in a web browser.

    EditionsCommand

     29 octubre 2014 a las 11:43

    Lista y descripción de las ediciones disponibles.
    Puedes crear una edición específica con el comando --init.

    --editions

    Editor toolbar

     18 enero 2019 a las 16:13

    How it Works

    The editor toolbar is a toolbar that helps you format text easily. It appears above the text input field in a tiddler when in edit mode. It has a similar appearance to desktop text editors like Microsoft Word or Libre Office Write.

    What the Editor toolbar does

    When you press the button for a function, it will insert the WikiText in the text field. As an example, if you press the bold button it will insert '' ''.

    If you highlight a piece of text the markup code will automatically go around the highlighted text.

    If you are in another mode, like MarkDown, the toolbar will change to that syntax and insert appropriate code. However It will not change previously typed text or markup.

    Besides the standard WikiText formatting, the Editor toolbar has the following buttons:

    EditTextWidget

     22 enero 2023 a las 21:00

    Introduction

    The edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propagated.

    By default, applying the EditTextWidget to the text field of a tiddler will generates an HTML <textarea> element, i.e. a multi-line editor. Applying the EditTextWidget to any other field generates an HTML <input type="text"> element, a single-line editor. This behaviour can be overridden with the tag and type attributes.

    Content and Attributes

    The content of the <$edit-text> widget is ignored.

    AttributeDescription
    tiddlerThe tiddler to edit (defaults to the current tiddler)
    fieldThe field to edit (defaults to text). Takes precedence over the index attribute
    indexThe index to edit
    defaultThe default text to be provided when the target tiddler doesn't exist
    classA CSS class to be assigned to the generated HTML editing element
    placeholderPlaceholder text to be displayed when the edit field is empty
    focusPopupTitle of a state tiddler for a popup that is displayed when the editing element has focus
    focusSet to "yes" or "true" to automatically focus the editor after creation
    focusSelectFromStart New in: 5.2.6 If the focus attribute is enabled, determines the position of the start of the selection: 0 (default) places the start of the selection at the beginning of the text, 1 places the start of the selection after the first character, etc.
    focusSelectFromEnd New in: 5.2.6 If the focus attribute is enabled, determines the position of the end of the selection: 0 (default) places the end of the selection at the end of the text, 1 places the start of the selection before the final character, etc.
    tabindexSets the tabindex attribute of the input or textarea to the given value
    autocomplete New in: 5.1.23 An optional string to provide a hint to the browser how to handle autocomplete for this input
    tagOverrides the generated HTML editing element tag. For a multi-line editor use tag=textarea. For a single-line editor use tag=input
    typeOverrides the generated HTML editing element type attribute
    sizeThe size of the input field (in characters). This exact result depends on browser and font. Use the class attribute to style width for precise control
    autoHeightEither "yes" or "no" to specify whether to automatically resize textarea editors to fit their content (defaults to "yes")
    minHeightMinimum height for automatically resized textarea editors, specified in CSS length units such as "px", "em" or "%"
    rowsSets the rows attribute of a generated textarea
    cancelPopups New in: 5.1.23 if set to "yes", cancels all popups when the input gets focus
    inputActions New in: 5.1.23 Optional actions that are triggered every time an input event occurs within the input field or textarea.
    New in: 5.2.1 The variable actionValue is available to the inputActions and contains the value of the input field.
    refreshTitle New in: 5.1.23 An optional tiddler title that makes the input field update whenever the specified tiddler changes
    disabled New in: 5.1.23 Optional, disables the text input if set to "yes". Defaults to "no"
    fileDrop New in: 5.2.0 Optional. When set to "yes" allows dropping or pasting images into the editor to import them. Defaults to "no"

    Examples

    If you wanted to change the field myconfig of the tiddler AppSettings, you could use an EditTextWidget to edit the field, and then show the result anywhere else by using {{AppSettings!!myconfig}}. Note that this will create tiddler AppSettings if it doesn't already exist.

    <$edit-text tiddler="AppSettings" field="myconfig"/><p/>
    Value of ''myconfig'' : {{AppSettings!!myconfig}}
    

    Text Selection

    If the edit field already contains text or a default value is provided, you can use the focusSelectFromStart and focusSelectFromEnd attributes to only select part of the text when using focus="yes".

    Partial selection when editing this tiddler's caption field:

    <$edit-text tiddler=<<currentTiddler>> field="caption" focus="yes" focusSelectFromStart="5" />
    

    Provide a dated heading for this example where only the placeholder (but not the date) is selected for easier text input:

    <$edit-text tiddler=<<currentTiddler>> field="heading" size="25" focus="yes" focusSelectFromEnd="13" default={{{ [[Heading Text (]] [<now YYYY-0MM-0DD>] [[)]] +[join[]] }}} />
    

    EditWidget

     9 octubre 2021 a las 13:16

    Introduction

    The edit widget provides a general purpose interface for editing a tiddler. It dynamically chooses the appropriate widget depending on the type of the tiddler (currently either the EditTextWidget or the EditBitmapWidget).

    Content and Attributes

    The content of the <$edit> widget is ignored.

    AttributeDescription
    tiddlerThe tiddler to edit (defaults to the current tiddler)
    fieldThe field to edit (defaults to text). Takes precedence over the index attribute
    indexThe index to edit
    classA CSS class to be added the generated editing widget
    tabindexSets the tabindex attribute of the input or textarea to the given value
    autocomplete New in: 5.1.23 An optional string to provide a hint to the browser how to handle autocomplete for this input
    cancelPopups New in: 5.1.23 if set to "yes", cancels all popups when the input gets focus
    inputActions New in: 5.1.23 Optional actions that are triggered every time an input event occurs within the input field or textarea
    refreshTitle New in: 5.1.23 An optional tiddler title that makes the input field update whenever the specified tiddler changes

    else Operator

     2 agosto 2019 a las 12:39
    purposeif the list of input titles is empty then return a list consisting of a single constant string, otherwise return the original titles
    inputa selection of titles
    parameterE = a string
    outputthe original input titles unless empty, in which case return a list with the single entry E

    Learn more about how to use Filters

    else Operator (Examples)

     2 agosto 2019 a las 12:35

    [[HelloThereMissing]is[missing]else[yes]]

    [[HelloThere]is[missing]else[yes]]

    Emergency Tiddler Export

     7 mayo 2020 a las 21:28

    This method is useful if, for any reason, you should find your current TiddlyWiki instance is not saving (e.g. a plugin or a server has stopped working). It should work on just about any platform.

    • Go to advanced search
      • Goto the filter tab
      • Enter the following filter text:
    [!is[system]!sort[modified]limit[25]]
    • Check the list of tiddlers.
    • Adjust the number "25" in the filter to make sure you found all your recently modified tiddlers
    • Press the bucket with the up arrow [] which appears on the right
    • A dialogue window will ask for a location to download a file called tiddler.json on your local drive, or depending on browser configuration, just alert you that such a file will be downloaded. Press save.
    • The tiddlers.json file can be imported (tools in sidebar) or drag and drop the file on the top line of the story river of another TW .
      • You can (de)select specific tiddlers.
      • Finally, press import.

    Edición básica

     3 junio 2016 a las 14:35

    La edición básica de TiddlyWiki es una distribución sin modificar del núcleo de TiddlyWiki, sin otros plugins ni configuración adicional instalados.

    Puede descargarse desde:

    Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
    Seguramente el navegador te pida que confirmes la descarga

    encodebase64 Operator

     
    purposeapply base 64 encoding to a string
    inputa selection of titles
    outputthe input with base 64 encoding applied

    Learn more about how to use Filters

    New in: 5.2.6

    See Mozilla Developer Network for details of base 64 encoding. TiddlyWiki uses library code from @nijikokun to handle the conversion.

    The input strings are interpreted as binary data. The output strings are base64 encoded.

    Examples

    encodehtml Operator

     17 octubre 2016 a las 16:30
    purposeapply HTML encoding to a string
    inputa selection of titles
    outputthe input with HTML encoding applied

    Learn more about how to use Filters

    New in: 5.1.14

    "HTML encoding" means replacing special HTML characters with the corresponding HTML entity:

    • & replaced with &amp;
    • < replaced with &lt;
    • > replaced with &gt;
    • " replaced with &quot;

    Examples

    encodehtml Operator (Examples)

     17 octubre 2016 a las 16:53

    [[Title with <angle brackets>]] +[encodehtml[]]

    [[Title with an & ampersand]] +[encodehtml[]]

    encodeuri Operator

     17 octubre 2016 a las 16:28
    purposeapply URI encoding to a string
    inputa selection of titles
    outputthe input with URI encoding applied

    Learn more about how to use Filters

    New in: 5.1.14

    See Mozilla Developer Network for details of the encodeURI operation.

    Examples

    encodeuri Operator (Examples)

     17 octubre 2016 a las 16:53

    [[Title with Space]] +[encodeuri[]]

    [[Title with Space]] [[Another title with Space]] +[encodeuri[]]

    encodeuricomponent Operator

     19 enero 2023 a las 17:43
    purposeapply URI component encoding to a string
    inputa selection of titles
    outputthe input with URI component encoding applied

    Learn more about how to use Filters

    New in: 5.1.14

    See Mozilla Developer Network for details of the encodeURIComponent operation.

    New in: 5.2.6 In addition to the characters mentioned in the article above, the following additional characters are also percent encoded: !'()*

    Examples

    encodeuricomponent Operator (Examples)

     17 octubre 2016 a las 16:53

    [[Title with Space]] +[encodeuricomponent[]]

    [[Title with Space]] [[Another title with Space]] +[encodeuricomponent[]]

    Cifrado

     26 abril 2016 a las 7:33

    Usado como archivo único de HTML, TiddlyWiki5 permite encriptar el contenido mediante la Stanford JavaScript Crypto Library.

    1. En la pestaña Herramientas de la barra lateral, localiza el botón Cifrado.
    2. Si el botón muestra la leyenda "Asignar contraseña", significa que el wiki no está encriptado. Pinchando el botón se abrirá el cuadro de diálogo que permite asignar la contraseña de cifrado
    3. Abre el archivo en un editor de texto para verificar que los datos están encriptados
    4. Al abrir el archivo en el navegador, se te pedirá la contraseña antes de mostrarte su contenido.

    TiddlyWIki ofrece otras dos funciones de encriptación, sin relación con esta:

    • La de asignar una contraseña para guardar en TiddlySpot, en la pestaña Guardando del panel de control
    • La de utilizar autenticación básica estándar HTTP en Node.js mediante el comando server. Combinada con SSL, esta función ofrece el mismo nivel de cifrado de tráfico que tienes en servicios del tipo de Google o Dropbox, aunque no cifra los datos guardados en el disco.

    EncryptWidget

     30 octubre 2013 a las 8:37

    Introduction

    The encrypt widget renders a filtered list of tiddlers to an encrypted block with the password currently held in the PasswordVault. The encrypted block can subsequently be decrypted by the TiddlyWiki5 BootMechanism. See the EncryptionMechanism for more details.

    Content and Attributes

    The content of the <$encrypt> widget is ignored.

    AttributeDescription
    filterFilter defining the tiddlers to be included in the encrypted block. If not specified then all non-system tiddlers are used

    enlist Operator

     5 mayo 2021 a las 11:02
    purposeselect titles from the operand interpreted as a title list
    inputignored
    ! inputa selection of titles
    suffixD = New in: 5.1.20 dedupe (the default) to remove duplicates, raw to leave duplicates untouched
    parameterL = a title list
    outputthe titles stored as a title list at L
    ! outputthose input titles that are not listed in L

    Learn more about how to use Filters

    Literal filter operands cannot contain square brackets but you can work around the issue by using a variable. Learn more at: SetWidget documentation under the heading "Filtered List Variable Assignment"

    <$set name="myList" value="first [[second with a space]] third">
    <$list filter="[enlist<myList>]">
    ...

    Examples

    enlist Operator (Examples)

     10 junio 2019 a las 17:53

    [enlist[one two three]addsuffix[!]]

    [enlist[one one one]]

    [enlist:raw[one one one]]

    [enlist{$:/StoryList!!list}]

    enlist-input Operator

     2 noviembre 2020 a las 22:18
    purposeselect titles by interpreting each input title as a title list
    inputa selection of titles
    suffixD = dedupe (the default) to remove duplicates, raw to leave duplicates untouched
    outputthe titles stored as a title list in each input title

    Learn more about how to use Filters

    New in: 5.1.23

    Compare with enlist operator that interprets its operand as a title list

    <$vars days={{{ [[Days of the Week]get[list]] }}}>
    
    {{{ [enlist<days>] }}}
    
    </$vars>

    is equivalent to:

    {{{ [[Days of the Week]get[list]enlist-input[]] }}}

    Examples

    enlist-input Operator (Examples)

     3 noviembre 2020 a las 9:06

    [[Days of the Week]get[list]enlist-input[]]

    Contrast with:

    [[Days of the Week]get[list]]
    'HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input[]]
    Contrast with:
    'HelloThere GettingStarted [[Customise TiddlyWiki]]'
    'HelloThere HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input:raw[]]
    Contrast with:
    'HelloThere HelloThere GettingStarted [[Customise TiddlyWiki]]' +[enlist-input[]]

    EntityWidget

     14 marzo 2016 a las 16:56

    Introduction

    The entity widget displays a specified HTML character entity.

    Content and Attributes

    The content of the <$entity> widget is not used.

    AttributeDescription
    entityThe entity to display (eg, &times;)

    Environment Variables on Node.js

     13 junio 2022 a las 12:41

    TiddlyWiki on Node.js supports the following OS environment variables for specifying a delimited list of paths to search for plugins and editions:

    • TIDDLYWIKI_PLUGIN_PATH - Search path for ordinary plugins
    • TIDDLYWIKI_THEME_PATH - Search path for themes
    • TIDDLYWIKI_LANGUAGE_PATH - Search path for languages
    • TIDDLYWIKI_EDITION_PATH - Search path for editions (used by the InitCommand)
    Note
    1. The delimiter may vary between operating systems. While on Windows a semicolon ; is used, Linux implements a colon :.

    2. On Linux systems, it may be necessary to export the variable as well as to define it.

    The additional paths should each point to folders structured like the equivalent directories in the TiddlyWiki5 GitHub repository: the plugin, theme and language directories contain publisher/pluginname/<files> while the edition directories contain editionname/<files>

    For example:

    export TIDDLYWIKI_PLUGIN_PATH=~/MyPluginStore
    tiddlywiki mywiki --build index

    ErrorWidget

     19 abril 2023 a las 11:31

    New in: 5.2.4 The $error widget is used by the core to display error messages such as the recursion errors reported by the $transclude widget.

    The $error does not provide any useful functionality to end users. It is only required by the core for technical reasons.

    Content and Attributes

    The content of the $error widget is ignored.

    AttributeDescription
    $messageThe error message

    escapecss Operator

     29 junio 2019 a las 8:28
    purposeapply CSS escaping to a selection of titles through the CSS.escape() method / operation
    inputa selection of titles
    outputthe input with CSS escaping applied through the CSS.escape() method

    Learn more about how to use Filters

    New in: 5.1.20

    See Mozilla Developer Network for details of the CSS.escape() operation.

    Examples

    escapecss Operator (Examples)

     29 junio 2019 a las 8:28

    [all[tiddlers]tag[Resources]escapecss[]]

    escaperegexp Operator

     17 octubre 2016 a las 16:32
    purposeescape special characters used in regular expressions
    inputa selection of titles
    outputthe input with escaping applied to special regular expression characters

    Learn more about how to use Filters

    New in: 5.1.14

    See Mozilla Developer Network for details of the regular expression syntax.

    Examples

    escaperegexp Operator (Examples)

     17 octubre 2016 a las 16:55

    [[Title with dots . and dollars $]] +[escaperegexp[]]

    Eucaly's Tiddly World

     6 enero 2021 a las 15:10

    I collect my tw5 creations on-line as http://eucaly-tw5.tiddlyspot.com/

    Available Plugins :

    EventCatcherWidget

     12 octubre 2022 a las 20:42

    Introduction

    New in: 5.1.23

    This is an advanced widget intended for use by those familiar with HTML, CSS and JavaScript handling of DOM events.

    The event catcher widget traps DOM-initiated Javascript events dispatched within its child content, and allows invoking a series of ActionWidgets in response to those events.

    In order for the events to be trapped:

    • The event must be of one of the events specified in the event catcher widget's events attribute
    • The event must target a DOM node with an ancestor that matches the widget's selector attribute
    • New in: 5.2.2 Optionally, the DOM node targeted by the event must also match the widgets matchSelector attribute
    • The event must support event bubbling

    Use of the event catcher widget is beneficial when using large numbers of other trigger widgets such as the ButtonWidget is causing performance problems. The workflow it enables is akin to what is referred to as "event delegation" in JavaScript parlance.

    Content and Attributes

    The content of the <$eventcatcher> widget is displayed normally.

    AttributeDescription
    selectorA CSS selector. Only events originating inside a DOM node with this selector will be trapped
    matchSelector New in: 5.2.2 An optional CSS selector. Only events targeting DOM nodes matching this selector will be trapped
    {any attributes starting with $} New in: 5.2.0 Each attribute name (excluding the $) specifies the name of an event, and the value specifies the action string to be invoked. For example: $click=<<clickActions>>
    tagOptional. The HTML element the widget creates to capture the events, defaults to:
    » span when parsed in inline-mode
    » div when parsed in block-mode
    classOptional. A CSS class name (or names) to be assigned to the widget HTML element
    stopPropagation New in: 5.2.0 Optional. Set to "always" to always stop event propagation even if there are no corresponding actions to invoke, "never" to never stop event propagation, or the default value "onaction" with which event propagation is only stopped if there are corresponding actions that are invoked.
    events(deprecated – see below) Space separated list of JavaScript events to be trapped, for example "click" or "click dblclick"
    actions-*(deprecated – see below) Action strings to be invoked when a matching event is trapped. Each event is mapped to an action attribute name of the form actions-event where event represents the type of the event. For example: actions-click or actions-dblclick

    New in: 5.2.0 Note that the attributes events and actions-* are no longer needed. Instead you can use attributes starting with $ where the attribute name (excluding the $) specifies the name of the event and the value specifies the action string to be invoked. If any attributes with the prefix $ are present then the types attribute is ignored.

    Variables

    The following variables are made available to the actions:

    VariablesDescription
    dom-*All DOM attributes of the node matching the given selector are made available as variables, with the prefix dom-
    modifierThe modifier Variable contains the Modifier Key held during the event (can be "normal", "ctrl", "shift", "alt" or combinations thereof)
    event-mousebuttonThe mouse button (if any) used to trigger the event (can be "left", "right" or "middle"). Note that not all event types support the mousebutton property
    event-typeThe type property of the JavaScript event
    event-detail-*Any properties in the detail attribute of the event are made available with the prefix event-detail-
    tv-popup-coordsA relative co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see Coordinate Systems for more information)
    tv-popup-abs-coords New in: 5.2.4 An absolute co-ordinate string that can be used with the ActionPopupWidget to trigger a popup at the DOM node matching the selector where the event originated (see Coordinate Systems for more information)
    tv-widgetnode-width New in: 5.2.3 offsetWidth of the DOM node created by the eventcatcher widget
    tv-widgetnode-height New in: 5.2.3 offsetHeight of the DOM node created by the eventcatcher widget
    tv-selectednode-posxx offset position of the selected DOM node
    tv-selectednode-posyy offset position of the selected DOM node
    tv-selectednode-widthoffsetWidth of the selected DOM node
    tv-selectednode-heightoffsetHeight of the selected DOM node
    event-fromselected-posxx position of the event relative to the selected DOM node
    event-fromselected-posyy position of the event relative to the selected DOM node
    event-fromcatcher-posxx position of the event relative to the event catcher DOM node
    event-fromcatcher-posyy position of the event relative to the event catcher DOM node
    event-fromviewport-posx New in: 5.2.0 x position of the event relative to the viewport
    event-fromviewport-posy New in: 5.2.0 y position of the event relative to the viewport

    Example

    This example uses the ActionLogWidget and will log the data-item-id attribute of the clicked DOM node to the browser's JavaScript console

    \define clickactions()
    <$action-log item=<<dom-data-item-id>> event=<<event-type>>/>
    \end
    
    \define contextmenu-actions()
    <$action-log item=<<dom-data-item-id>> event=<<event-type>>/>
    \end
    
    <$eventcatcher selector=".item" $click=<<clickactions>> $contextmenu=<<contextmenu-actions>> tag="div">
    
    <div class="item" data-item-id="item1">
    Click events here will be trapped
    </div>
    
    <div class="item" data-item-id="item2">
    And here too
    </div>
    
    <div data-item-id="item3">
    Not here
    </div>
    
    <div class="item" data-item-id="item4">
    And here
    </div>
    
    </$eventcatcher>

    Example config-tiddlyweb-host for IIS

     28 marzo 2018 a las 15:52
    title: $:/config/tiddlyweb/host
    text: $protocol$//$host$/MyApp/
    

    Example for tag Macro

     16 noviembre 2021 a las 3:49

    This tiddler exists to demonstrate the tag macro.

    Example package.json for IIS

     28 marzo 2018 a las 15:52
    {
        "name": "MyStuff",
        "description": "A description of this wiki",
        "dependencies": {
            "sax": "1.2.4",
            "tiddlywiki": "*"
        }
    }

    Example Table of Contents: Expandable

     21 febrero 2015 a las 20:37

    <div class="tc-table-of-contents">
    <<toc-expandable "Contents">>
    </div>

    Example Table of Contents: Selectively Expandable

     21 febrero 2015 a las 20:39

    <div class="tc-table-of-contents">
    <<toc-selective-expandable "Contents">>
    </div>

    Example Table of Contents: Selectively Expandable (custom icons)

     19 agosto 2022 a las 9:10

    New in: 5.2.4 It is possible to define the toc-open-icon and toc-closed-icon variable, to change the icons used by the toc macros. This setting works for all toc-macro variants

    <$let toc-open-icon="$:/core/images/fold-button" toc-closed-icon="$:/core/images/folder">
    <div class="tc-table-of-contents">
    <<toc-selective-expandable "Contents">>
    </div>
    </$let>

    Example Table of Contents: Simple

     21 febrero 2015 a las 20:37

    <div class="tc-table-of-contents">
    <<toc "Contents">>
    </div>

    Example Table of Contents: Sorted Expandable

     21 febrero 2015 a las 20:39

    <div class="tc-table-of-contents">
    <<toc-expandable "Contents" "sort[title]">>
    </div>

    Example Table of Contents: Tabbed External

     21 febrero 2015 a las 21:00

    <$macrocall
    	$name="toc-tabbed-external-nav"
    	tag="TableOfContents"
    	selectedTiddler="$:/temp/toc/selectedTiddler"
    	unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
    	missingText="<p>Missing tiddler.</p>"
    />

    Example Table of Contents: Tabbed Internal

     21 febrero 2015 a las 21:00

    <$macrocall
    	$name="toc-tabbed-internal-nav"
    	tag="TableOfContents"
    	selectedTiddler="$:/temp/toc/selectedTiddler"
    	unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
    	missingText="<p>Missing tiddler.</p>"
    />

    Example tiddlywiki.info for IIS

     28 marzo 2018 a las 16:12
    {
    	"description": "My wiki",
    	"plugins": [
    		"tiddlywiki/tiddlyweb",
    		"tiddlywiki/filesystem"
    	],
    	"themes": [
    		"tiddlywiki/vanilla",
    		"tiddlywiki/snowwhite"
    	]
    }
    

    Example web.config for IIS

     1 julio 2018 a las 19:52
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add 
                    name="httpplatformhandler"
                    path="*"
                    verb="*"
                    modules="httpPlatformHandler"
                    resourceType="Unspecified"
                    requireAccess="Script" />
            </handlers>
            <httpPlatform 
               stdoutLogEnabled="true"
               stdoutLogFile=".\node.log"
               startupTimeLimit="20"
               processPath="C:\Program Files\nodejs\node.exe"
               arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp">
                <environmentVariables>
                    <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
                    <environmentVariable name="NODE_ENV" value="Production" />
                </environmentVariables>            
            </httpPlatform>
        </system.webServer>
    </configuration>
    

    Ejemplos

     5 junio 2016 a las 6:29

    Esta es una muestra de algunos interesantes ejemplos de uso de TiddlyWiki en la web.

    Envía más ejemplos que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo

    exponential Operator

     11 junio 2019 a las 16:45
    purposeconvert each number to exponential notation with N digits
    inputa selection of titles
    parameterN = a number
    outputthe input as numbers converted to exponential notation with N digits

    Learn more about how to use Filters

    New in: 5.1.20 See Mathematics Operators for an overview.

    The exponential operator returns a string representation of the input number in exponential notation with the specified number of digits. If a number has more digits than requested, the number is rounded to the nearest number represented by the specified number of digits

    Examples

    exponential Operator (Examples)

     11 junio 2019 a las 16:45

    123456789 +[exponential[4]]

    123456789 +[exponential[13]]

    1.23E23 +[exponential[90]]

    Extended Listops Filters

     27 febrero 2023 a las 17:55

    Introduction

    A number of filters are used to manipulate lists.

    Some filters are designed to move items from the tail of the list and insert them at specified locations in the list, e.g. putafter or putbefore. Items are often appended to the list before using these filters. In general, these filters accept a suffix specifying the number of items to move (default to 1.)

    Some filters are designed to either add or remove from the list, a selected range of items from an array, e.g. append or remove. These filters are best used with a reference to an array, stored in a field or data index elsewhere in the wiki (they may be used with a simple list of items, provided the items do not include white space.) In general, these filters accept a suffix specifying the number of items to move (default to All.)

    Listops Operators
    Operator Purpose !
    allafter discard all items except those after the marker
    allbefore discard all items except those before the marker
    append append a range of items from an array to the list
    cycle toggle in the input, the titles specified in the first operand in a cyclical manner
    insertafter insert an item T into a list immediately after an item A
    insertbefore insert an item T into a list immediately before an item B
    move move marker N places in the list
    prepend prepend a range of items from an array to the list
    putafter move N trailing items after the marker
    putbefore move N trailing items before the marker
    putfirst move N trailing items to the head of the list
    putlast move N leading items to the tail of the list
    remove remove a list of titles specified in the operand from the input
    replace replace marker with N trailing items
    sortby sort the current list in the order of the list referenced in the operand
    toggle toggle the title specified in the operand in the input
    unique remove all duplicate items from the current list

    Examples

    In this example we shall populate the 'DataIndex' index of the tiddler 'MyData' with the names of the days of the week, then clear this list.

    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[list[Days of the Week]]"/>
    Get days-of-the-week
    </$button> 
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]"/>
    Clear
    </$button>
    
    {{ListopsData}}

    Este es su aspecto:

    DataIndex: 
    

    In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to insert items before and after a marker item (Wednesday) that are first appended to the list.

    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="one two +[putbefore:2[Wednesday]]"/>
    Put 2 Items Before Wednesday
    </$button> 
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="four five +[putafter:2[Wednesday]] three +[putbefore[Wednesday]]"/>
    Put One Item Before & Two Items After Wednesday
    </$button>
    
    {{ListopsData}}

    Este es su aspecto:

    DataIndex: 
    

    In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to replace the marker item (Wednesday) with items which are first appended to the list. We shall then move 3 items to the head of the list which have first been appended to the list from referenced fields.

    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[[---o]] [[o---]] +[replace:2{!!marker}]"/>
    Replace '!!marker' with 2 Items
    </$button>
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[{!!item1}] [{!!item2}] [{!!item3}] +[putfirst:3[]]"/>
    Put 3 Items First
    </$button>
    
    {{ListopsData}}

    Este es su aspecto:

    DataIndex: 
    

    In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to append to the truncated list, items from a referenced field. We shall then remove the first two of the items added.

    |list: |<$view field="list"/> |
    
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[allbefore:include[Wednesday]] +[prepend{!!list}]"/>
    Prepend '!!list' to items before 'Wednesday'
    </$button> 
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[remove:2{!!list}]"/>
    Remove first two items in '!!list' from current list
    </$button>
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!remove:1{!!list}]"/>
    Remove last item in '!!list' from current list
    </$button>
    
    {{ListopsData}}

    Este es su aspecto:

    list:Yesterday Today Tomorrow

    DataIndex: 
    

    In this example we shall populate the list with numbers, then move items one by one from the head to the tail and from the tail to the head (best seen by clicking the lower buttons several times.)

    This example illustrates that the append[] and prepend[] operators do not enforce unique instances of an item and that, with the next run, any duplicates are removed.

    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]" $subfilter="+[append:3{!!numbers}]"/>
    Setup some numbers
    </$button>
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!append:6{!!numbers}]"/>
    Append more numbers
    </$button>
    
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putfirst:2[]]"/>
    Move last 2 items to the head
    </$button>
    <$button>
    <$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putlast[]]"/>
    Move the head to the last item
    </$button>
    
    {{ListopsData}}

    Este es su aspecto:

    DataIndex: 
    

    External Attachments Plugin

     31 octubre 2017 a las 17:24

    The External Attachments Plugin provides support for importing tiddlers as external attachments. That means that instead of importing binary files as self-contained tiddlers, they are imported as "skinny" tiddlers that reference the original file via the _canonical_uri field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained.

    This plugin only works when using TiddlyWiki with platforms such as TiddlyDesktop that support the path attribute for imported/dragged files.

    Imágenes externas

     26 abril 2016 a las 6:55

    Por imágenes externas nos referimos en tiddlywiki a tiddlers que, en lugar de incrustarla, apuntan a la URI de una imagen. Se trabaja más rápido que con imágenes incrustadas, especialmente si el wiki contiene gran número de imágenes o imágenes muy grandes. Sin embargo, supone abandonar la política inicial de "único archivo" de TiddlyWiki.

    Las imágenes esternas se usan en el navegador. Puede crearlas la configuración de Node.js al construir TiddlyWiki o pueden crearse manualmente en el navegador.

    En qué consisten

    Una imagen externa es un tiddler de imagen que contiene el campo _canonical_uri cuyo valor es la URI de la imagen en cuestión. La URI puede ser absoluta o relativa al documento HTML. El campo text de un tiddler se ignora o se omite cuando se proporciona URI canónica de una imagen externa.

    Creación manual de imágenes externas

    Para crear manualmente una imagen externa, simplemente crea un tiddler con el tipo apropiado de contenido y añade el campo _canonical_uri indicando la ruta actual a la imagen.

    Comprueba bien que escribes correctamente la ruta y que escribes URI, no URL

    Creación de imágenes externas en Node.js

    Para crear un archivo HTML estático de TiddlyWiki acompañado por una carpeta de imágenes externas referenciadas en el HTML

    1. Crea tiddlers de imagen en los WikiFolders, de la manera habitual
    2. Guarda las imágenes como archivos separados (por convención, en una subcarpeta llamada images)
    3. Externaliza los tiddlers correspondientes a cada imagen habilitando el campo _canonical_uri
    4. Guarda el archivo HTML principal
    Las imágenes deben añadirse a la subcarpeta antes de externalizar los tiddlers. El campo _canonical_uri invalida el campo text del tiddler, lo que lleva consigo que cualquier ulterior intento de guardado fallará.
    Como ejemplo, véase el target externalimages de la demo "tw5.com":
    --savetiddlers [is[image]] images
    --setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
    --setfield [is[image]] text "" text/plain
    --rendertiddler $:/core/save/all externalimages.html text/plain

    Guardar archivos separados de imagen

    Para guardar las imágenes de un wiki en una subcarpeta images puede usarse el comando --savetiddlers de la siguiente manera:

    --savetiddlers [is[image]] images

    Externalizar tiddlers de imagen

    Se usan dos comandos --setfield: el primero establece el campo con valor derivado del título del tiddler. El segundo limpia el campo text.

    --setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
    --setfield [is[image]] text "" text/plain

    La plantilla $:/core/templates/canonical-uri-external-image contiene:

    <!--
    
    This template is used to assign the ''_canonical_uri'' field to external images.
    
    Change the `./images/` part to a different base URI. The URI can be relative or absolute.
    
    -->
    ./images/<$view field="title" format="doubleurlencoded"/>

    Estas operaciones modifican los tiddlers en el WikiStore y pueden afectar al funcionamiento de posteriores comandos.

    Uso de imágenes externas

    No es posible editar una imagen externa directamente en el navegador, salvo para editar la URI de forma que apunte a otra imagen.

    Favorites by Mohammad

     17 noviembre 2020 a las 15:59

    Favorites plugin is a set of tool for creating favorites (bookmarks) in Tiddlywiki. Each favorite item is a shortcut to a tiddler.

    https://kookma.github.io/TW-Favorites/

    A favorite item also called a bookmark is a shortcut, you are creating for quick access to it. You can access that bookmark at any time and view that as many times as you want without having to search and find it again.

    The Favorites plugin contains three modes

    • flat mode: one favorite list, no folder
    • structured mode: use folder, search tool, export and delete tool
    • frozen list: read only, simple table of content style

    Características

     29 abril 2016 a las 5:28

    Federatial

     4 diciembre 2022 a las 16:56

    Federatial Limited helps organisations explore new user interaction concepts through rapid prototyping of sophisticated web-based tools. Services include:

    See https://federatial.com/ and https://twitter.com/federatial for more information.

    JeremyRuston founded Federatial Limited in 2011 to support his work on TiddlyWiki for the advertised 25 years. Since then, Federatial has been privileged to have worked with a wide range of fantastic clients in very different sectors, on some very diverse projects:

    • For a law firm in the Washington DC, developing a custom multi-user TiddlyWiki application. It replaced a Microsoft Word document hosted on SharePoint that had grown to 18,000 pages and 10 million words, and was increasingly unwieldy to manage. We converted the document to a non-linear TiddlyWiki structure. Startup, searching and browsing are an order of magnitude faster than using Word and SharePoint
    • For a publishing firm in Paris, devising a new TiddlyWiki-based format for interactive electronic publications (including conversion from the established EPUB format). See https://twpub-tools.org/
    • For a charity in London, maintaining a multiuser instance of TiddlyWiki running on Amazon's serverless infrastructure. It has more than 1,000 users, and over 15,000 tiddlers in 500 interlinked wikis. See https://manuals.annafreud.org/ambit

    Federatial.png

     

    FetchCommand

     18 febrero 2017 a las 13:15

    Obtiene uno o más archivos a través de HTTP/HTTPS e importe los tiddlers que coincidan con un filtro, transformando opcionalmente los títulos entrantes.

    --fetch file <url> <import-filter> <transform-filter>
    --fetch files <url-filter> <import-filter> <transform-filter>
    --fetch raw-file <url> <transform-filter>
    --fetch raw-files <url-filter> <transform-filter>

    Las opciones "file" y "files" obtienen los archivos especificados e intentan importar los tiddlers dentro de ellos (el mismo procesamiento que si los archivos se arrastraran a la ventana del navegador). Las variantes "raw-file" y "raw-files" obtienen los archivos especificados y almacenan los datos del archivo sin procesar en tiddlers, sin aplicar la lógica de importación.

    Con las opciones "file" y "raw-file", solo se obtiene un archivo y el primer parámetro es la URL del archivo que se va a leer.

    Con las opciones "files" y "raw-files", se obtienen varios archivos y el primer parámetro es un filtro que produce una lista de URL de los archivos a leer. Por ejemplo, dado un conjunto de tiddlers etiquetados como "servidor-remoto" que tienen un campo "url", el filtro [tag[servidor-remoto]get[url]] recuperará todas las URL disponibles.

    Para las opciones "file" y "files", el parámetro <import-filter> especifica un filtro que determina qué tiddlers se importan. El valor predeterminado es "[all[tiddlers]]" si no se proporciona.

    Para todas las opciones, el parámetro <transform-filter> especifica un filtro opcional que transforma los títulos de los tiddlers importados. Por ejemplo, [addprefix[$:/myimports/]] agregaría el prefijo $:/myimports/ a cada título.

    Si precede al comando --fetch con --verbose, se generará información de progreso durante la importación.

    Ten en cuenta que TiddlyWiki no obtendrá una versión anterior de un complemento ya cargado.

    El siguiente ejemplo recupera todos los tiddlers que no son del sistema de https://tiddlywiki.com y los guarda en un archivo JSON:

    tiddlywiki --verbose --fetch file "https://tiddlywiki.com/" "[!is[system]]" "" --rendertiddler "$:/core/templates/exporters/JsonFile" output.json text/plain "" exportFilter "[!is[system]]"

    El siguiente ejemplo recupera el archivo "favicon" de tiddlywiki.com y lo guarda en un archivo llamado "output.ico". Ten en cuenta que el tiddler intermedio "Icon Tiddler" se cita en el comando "–fetch" porque se usa como un filtro de transformación para reemplazar el título predeterminado, mientras que no hay comillas para el comando "–savetiddler" porque es se utiliza directamente como título.

    tiddlywiki --verbose --fetch raw-file "https://tiddlywiki.com/favicon.ico" "[[Icon Tiddler]]" --savetiddler "Icon Tiddler" output.ico

    Field Editor Cascade

     5 marzo 2022 a las 17:39

    The field editor cascade is a cascade used to choose a template for rendering the field editor within the EditTemplate.

    The core field editor cascade can be found in $:/core/ui/EditTemplate/fields

    The default field editor cascade only contains one element:

    1. Use the tiddler $:/core/ui/EditTemplate/fieldEditor/default to render the field

    See Customizing EditTemplate field rendering for more details.

    You can see the current settings for the field editor cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> Field Editor tab.

      field Operator

       3 febrero 2015 a las 18:47
      purposefilter the input by field
      inputa selection of titles
      suffixF = the name of a field
      parameterS = a possible value of field F
      outputthose input tiddlers in which field F has the value S
      ! outputthose input tiddlers in which field F does not have the value S

      Learn more about how to use Filters

      If S is empty, field will match both of the following:

      • tiddlers that don't contain field F
      • tiddlers in which field F exists but has an empty value

      The syntax of a filter step treats any unrecognised filter operator as if it was the suffix to the field operator. See the examples.

      Examples

      field Operator (Examples)

       18 enero 2015 a las 18:32

      [field:author[JeremyRuston]]
      → plugins authored by JeremyRuston

      [plugin-type[theme]author[JeremyRuston]]
      → themes authored by JeremyRuston

      FieldMangler Widget (Examples)

       6 julio 2015 a las 18:29

      
      <$fieldmangler>
      Add tag ''example'' to this tiddler (current)<$button message="tm-add-tag" param="example">{{$:/core/images/new-button}}</$button>
      <br>
      Remove tag ''example'' to this tiddler (current)<$button message="tm-remove-tag" param="example">{{$:/core/images/delete-button}}</$button>
      </$fieldmangler>
      

      
      <$fieldmangler tiddler="Hello World">
      Add tag ''example'' to the Hello World tiddler<$button message="tm-add-tag" param="example">{{$:/core/images/new-button}}</$button>
      <br>
      Remove tag ''example'' to the Hello World tiddler<$button message="tm-remove-tag" param="example">{{$:/core/images/delete-button}}</$button>
      </$fieldmangler>
      

      FieldManglerWidget

       9 octubre 2021 a las 13:28

      Introduction

      The field mangler widget manipulates the fields and tags of a tiddler. It does so in response to the following Messages:

      MessageDescription
      tm-remove-fieldRemove the field specified in event.param
      tm-add-fieldAdd the field specified in event.param
      tm-remove-tagRemove the tag specified in event.param
      tm-add-tagAdd the tag specified in event.param

      Content and Attributes

      The field mangler widget displays any contained content, and responds to Messages dispatched within it.

      AttributeDescription
      tiddlerTitle of the tiddler to manipulate (defaults to the current tiddler)

      Examples

      fields Operator

       29 enero 2020 a las 16:50
      purposeselect all field names of the input titles
      inputa selection of titles
      suffix New in: 5.1.22 optional: include, exclude parameter list
      parameter New in: 5.1.22 optional: a list of field names
      outputall the field names contained in the input tiddlers

      Learn more about how to use Filters

      Each input title is processed in turn. Its list of field names is retrieved (in no particular order) and then dominantly appended to the operator's output.

      New in: 5.1.22 If the include suffix is used, fields are only included, if they exist. It doesn't matter, if fields have a value. The exclude suffix is there for convenience, since it would be possible to use a second filter run. For more info see the examples.

      Examples

      fields Operator (Examples)

       29 enero 2020 a las 16:56

      [[HelloThere]fields[]]
      → fields of HelloThere

      [[HelloThere]fields:include[list title text non-existing]]
      → fields of HelloThere using a "short list" of fields. Fields are only shown, if they exist

      [[HelloThere]fields:include[list title text]sortby[title list text]]
      → fields of HelloThere special sorting

      [[HelloThere]fields:exclude[list title text]]
      → fields of HelloThere using the exclude suffix

      [[HelloThere]fields[]] -list -title -text
      → fields of HelloThere, using several filter runs instead of exclude suffix

      [tag[Common Operators]fields[]]
      → fields of all tiddlers tagged as Common Operators

      FieldsWidget

       20 febrero 2015 a las 16:12

      Introduction

      The fields widget renders each field of a specified tiddler through a simple text template. A list of fields to exclude can be provided. It is used internally by TiddlyWiki5, notably by the FileSavingMechanism.

      Template Handling

      The provided template is rendered with the following special substitutions:

      SymbolSubstitution
      $name$Field name
      $value$Field value
      $encoded_value$HTML encoded form of field value

      Content and Attributes

      The content of the <$fields> widget is ignored.

      AttributeDescription
      tiddlerTitle of the tiddler from which the fields are to be displayed (defaults to the current tiddler)
      templateText of the template (see above)
      excludeLists of fields to be excluded (defaults to "text")
      includeLists of fields to be included, if the field exists. This parameter takes precedence over "exclude"
      sortSorts the fields by name (defaults to "yes"). Set to "no", if "include" order should be retained!
      sortReverseReverses the sort order
      stripTitlePrefixIf set to "yes" then curly bracketed prefixes are removed from titles (for example {prefix}HelloThere converts to HelloThere)

      The stripTitlePrefix attribute is used when building TiddlyWiki Classic; see editions/tw2 in the TiddlyWiki5 repo.

      FillWidget

       11 mayo 2023 a las 13:34

      Introduction

      New in: 5.3.0 The $fill widget is used within a $transclude widget to specify the content that should be copied to the named "slot". Slots are defined by the $slot widget within the transcluded content.

      See the $transclude widget for details and an example. More examples can be found in the $slot widget documentation.

      Attributes

      The content of the $fill widget is used as the content to be passed to the transclusion.

      AttributeDescription
      $nameThe name of the slot to be filled

      The $name attribute must be specified as a literal string

      Expresión de filtros

       20 abril 2016 a las 18:48
      espacio+-instruccion

      Una expresión de filtro corresponde al nivel más externo de la sintaxis de filtros. Consta de una o más instrucciones.

      El input de una instrucción es, generalmente, la lista de todos los títulos de tiddlers no-ocultos del wiki, sin ningún orden en particular.

      Un prefijo, sin embargo, puede cambiar las cosas:

      • Si una instrucción no lleva los prefijos + o -, su output se añade dominantemente al output del filtro.
      • Si una instrucción lleva el prefijo -, su output se elimina del output del filtro, si estuviera presente.
      • Si una instrucción lleva el prefijo +, recibe como input el output del filtro y lo lo reemplaza por el output de dicha instrucción. Toda instrucción posterior vuelve a recibir como input todos los títulos del wiki, salvo que también lleve el prefijo +.

      Dicho en lenguaje técnico, claros y conciso:

      InstrucciónInterpretaciónOutput
      runA runBsuma de conjuntoscumple A O B
      runA +runBintersección de conjuntoscumple A Y B
      runA -runBdiferencia de conjuntoscumple A Y NO B

      Filter Filter Run Prefix

       29 noviembre 2021 a las 2:25

      New in: 5.1.23

      purposeremove every input title for which the filter run output is an empty list
      inputall titles from previous filter runs
      outputthe input titles for which the filter run is not empty

      It receives the filter output so far as its input. The next run is evaluated for each title of the input, removing every input title for which the output is an empty list.

      Note that within the filter run, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits filter runs like :filter[{!!price}multiply{!!cost}compare:integer:gteq[5]] to be used for computation. The value of currentTiddler outside the run is available in the variable "..currentTiddler".

      The following variables are available within the filter run:

      • currentTiddler - the input title
      • ..currentTiddler - the value of the variable currentTiddler outside the filter run.
      • index - New in: 5.2.1 the numeric index of the current list item (with zero being the first item in the list).
      • revIndex - New in: 5.2.1 the reverse numeric index of the current list item (with zero being the last item in the list).
      • length - New in: 5.2.1 the total length of the input list.

      Compare named filter run prefix :filter with filter Operator which applies a subfilter to every input title, removing the titles that return an empty result from the subfilter

      Examples

      Filter Filter Run Prefix (Examples)

       4 diciembre 2021 a las 15:48

      [tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]

      [tag[HelloThere]] :filter[get[text]length[]compare:integer:lteq[2000]]

      [tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]] :filter[get[text]length[]compare:integer:lteq[2000]]

      [tag[Features]] :filter[links[]!is[shadow]is[missing]]

      A B C D E F :filter[<index>remainder[2]compare:integer:eq[0]]
      → Return every other element of the input list

      [tag[shopping]] :filter[{!!quantity}compare:integer:gt[4]] :map[addprefix[ ]addprefix{!!quantity}]

      [tag[shopping]] :filter[{!!quantity}compare:integer:lteq[4]] :map[addprefix[ ]addprefix{!!quantity}]

      Comparison between :filter and :and/+ filter run prefixes

      The functionality of the :filter filter run prefix has some overlap with the :and prefix (alias +). Notice the filter expressions above all have the following two properties:

      1. The start of the filter expression transforms the input titles (i.e. get[text]length[], links[], <index>remainder[2], {!!quantity}.
      2. The end of the filter expression only sends input items to the output if they meet some condition (i.e. compare, is).

      The purpose of the :filter prefix is to return the original input titles despite property #1 causing those input titles to be transformed. That way, the "meet some condition" check can be performed on something other than the original input. If some filter expression does not require property #1, then the :and prefix can be used instead.

      :filter:and
      [tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]]
      [tag[HelloThere]] :and[get[text]length[]compare:integer:gteq[1000]]
      [tag[Features]] :filter[links[]!is[shadow]is[missing]]
      [tag[Features]] :and[links[]!is[shadow]is[missing]]
      results are the same
      cat can bat bug :filter[suffix[at]minlength[3]]
      cat can bat bug :and[suffix[at]minlength[3]]

      filter Operator

       22 mayo 2021 a las 17:25
      purposeapply a subfilter to each input title and return the titles that return a non-empty result from the subfilter
      inputa selection of titles passed as input to the filter
      ! inputa selection of titles passed as input to the filter
      parameterS = a filter expression
      outputthe selection of titles that pass the filter S
      ! outputthose input titles that do not pass the filter S

      Learn more about how to use Filters

      New in: 5.1.23 The filter operator runs a subfilter for each input title, and returns those input titles for which the subfilter returns a non-empty result (in other words the result is not an empty list). The results of the subfilter are thrown away.

      Simple filter operations can be concatenated together directly (eg [tag[HelloThere]search[po]]) but this doesn't work when the filtering operations require intermediate results to be computed. The filter operator can be used to filter on an intermediate result which is discarded. To take the same example but to also filter by those tiddlers whose text field is longer than 1000 characters:

      <$vars myfilter="[get[text]length[]compare:integer:gteq[1000]]">
      <$list filter="[tag[HelloThere]search[po]filter<myfilter>]">
      <div>
      <$link>
      <$text text=<<currentTiddler>>/>
      </$link>
      </div>
      </$list>
      </$vars>

      Note that within the subfilter, the "currentTiddler" variable is set to the title of the tiddler being processed. The value of currentTiddler outside the subfilter is available in the variable "..currentTiddler". New in: 5.2.0

      Compare with the similar subfilter operator which runs a subfilter and directly returns the results

      Compare with the analogous named filter run prefix :filter

      \define larger-than-1k() [get[text]length[]compare:integer:gteq[1000]]
      
      {{{ [tag[HelloThere]filter<larger-than-1k>] }}}

      is equivalent to:

      {{{ [tag[HelloThere]] :filter[get[text]length[]compare:integer:gteq[1000]] }}}

      Examples

      filter Operator (Examples)

       4 octubre 2020 a las 15:33

      These examples use the following predefined variables:

      • larger-than-1k: [get[text]length[]compare:integer:gteq[1000]]
      • smaller-than-2k: [get[text]length[]compare:integer:lteq[2000]]
      • contains-missing-links: [links[]!is[shadow]is[missing]]

      [tag[HelloThere]filter<larger-than-1k>]

      [tag[HelloThere]filter<smaller-than-2k>]

      [tag[HelloThere]filter<larger-than-1k>filter<smaller-than-2k>]

      [tag[Features]filter<contains-missing-links>]

      Filter Operators

       17 diciembre 2021 a las 14:12

      A filter operator is a predefined keyword attached to an individual step of a filter. It defines the particular action of that step.

      Important: Each first step of a filter run not given any input titles receives the output of [all[tiddlers]] as its input.

      The following table lists all core operators, the most common ones marked ✓. The ! column indicates whether an operator allows negation using the ! prefix. For specifics as to each operator's negated output please refer to its documentation.

      Most steps process the selection of titles that are supplied as their input, but a few construct an entirely new selection instead, as indicated by the last column. A C? indicates it might construct a new selection, depending on usage. For specifics as to each operator's selection creation please refer to its documentation.

      Operator Purpose ! C
      all find all titles of a fundamental category C?
      backlinks find the titles that link to each input title
      charcode generates string characters from their numeric character codes
      contains filter the input by searching list fields for a value !
      count count the number of entries in a list
      days filter the input by date !
      duplicateslugs find titles that yield duplicate slugs
      each select one of each group of input titles by field
      eachday select one of each group of input titles by date
      else if the list of input titles is empty then return a list consisting of a single constant string, otherwise return the original titles
      enlist select titles from the operand interpreted as a title list ! C
      field filter the input by field !
      fields select all field names of the input titles
      filter apply a subfilter to each input title and return the titles that return a non-empty result from the subfilter !
      function apply a function to the input list, and return the result
      get select all values of a field in the input titles
      getindex select all values of a data property in the input titles
      has filter the input by field existence !
      haschanged filter the input by tiddler modification status !
      indexes select all data properties of the input titles
      is filter the input by fundamental category !
      join join a list of strings together with the separator S
      jsonextract retrieve the JSON string of a property from JSON strings
      jsonget retrieve the value of a property from JSON strings
      jsonindexes retrieve the value of a property from JSON strings
      jsontype retrieve the type of a property from JSON strings
      length returns the number of characters of each item in the list
      links find the titles linked to by each input title
      list select titles via a list field ! C
      listed find the titles that list the input titles
      lookup applies a prefix to each input title to yield the title of a tiddler from which the final value is retrieved. With a single parameter, the default field is "text" and the default index is "0". If a second parameter is provided, that becomes the target field or index.
      lowercase returns each item in the list as lowercase
      match returns each item in the list that matches the operand string
      minlength filter items shorter than the specified minimum length
      range generate a range of numbers ! C
      reduce apply a subfilter to each input title in turn, accumulating a single value
      regexp filter the input by pattern-matched field !
      sameday filter the input by date
      search filter the input by searching tiddler content !
      sentencecase returns each item in the list with the first letter capitalised
      slugify returns each item in the list in a human-readable form for use in URLs or filenames
      split returns each item in the list split into separate strings according to the specified separator S; duplicates are not removed
      splitregexp returns each item in the list split into separate strings according to the specified regular expression R
      subfilter select titles from the operand interpreted as a filter expression ! C?
      then replace input titles by a constant string
      title select a single title ! C
      titlecase returns each item in the list with each word capitalised
      uppercase returns each item in the list as uppercase
      Order Operators
      after find which input title follows a specified one
      before find which input title precedes a specified one
      bf same as rest
      butfirst same as rest
      butlast discard the last N input titles
      first select the first N input titles
      last select the last N input titles
      limit select the first or last N input titles !
      next find which titles in a list field follow the input ones
      nsort sort the input by number field !
      nsortcs sort the input titles by number field, treating upper and lower case as different !
      nth select the Nth input title
      order selectively reverse the input list
      previous find which titles in a list field precede the input ones
      rest discard the first N input titles
      reverse reverse the order of the input titles
      sort sort the input by text field !
      sortan sort the input by text field considering them as alphanumerics !
      sortcs sort the input by text field, treating upper and lower case as different !
      sortsub sort the input by the result of evaluating a subfilter for each item !
      zth select the Zth input title
      Listops Operators
      allafter discard all items except those after the marker
      allbefore discard all items except those before the marker
      append append a range of items from an array to the list
      cycle toggle in the input, the titles specified in the first operand in a cyclical manner
      insertafter insert an item T into a list immediately after an item A
      insertbefore insert an item T into a list immediately before an item B
      move move marker N places in the list
      prepend prepend a range of items from an array to the list
      putafter move N trailing items after the marker
      putbefore move N trailing items before the marker
      putfirst move N trailing items to the head of the list
      putlast move N leading items to the tail of the list
      remove remove a list of titles specified in the operand from the input
      replace replace marker with N trailing items
      sortby sort the current list in the order of the list referenced in the operand
      toggle toggle the title specified in the operand in the input
      unique remove all duplicate items from the current list
      String Operators
      addprefix extend each input title with a prefix
      addsuffix extend each input title with a suffix
      applypatches applies a set of patches to transform the input
      compare filter the input by comparing each item against the operand !
      decodebase64 apply base 64 decoding to a string
      decodehtml apply HTML decoding to a string
      decodeuri apply URI decoding to a string
      decodeuricomponent apply URI component decoding to a string
      encodebase64 apply base 64 encoding to a string
      encodehtml apply HTML encoding to a string
      encodeuri apply URI encoding to a string
      encodeuricomponent apply URI component encoding to a string
      enlist-input select titles by interpreting each input title as a title list
      escapecss apply CSS escaping to a selection of titles through the CSS.escape() method / operation
      escaperegexp escape special characters used in regular expressions
      format format the input string according to one of supported formats
      jsonstringify deprecated, use stringify instead
      levenshtein determine the Levenshtein distance of the input title(s) and a given string
      makepatches returns a set of patches that transform the input to a given string
      pad returns each item in the list padded to the specified length
      prefix filter the input titles by how they start !
      removeprefix filter the input titles by how they start, deleting that prefix
      removesuffix filter the input titles by how they end, deleting that suffix
      search-replace returns each item in the list, replacing within each title the string specified by the first parameter with the second parameter
      sha256 apply sha256 hash to a string
      splitbefore select a delimited prefix from each input title
      stringify apply JavaScript string encoding to a string
      substitute returns each item in the list, replacing within each title placeholders for filters, parameters and variables with their corresponding values
      suffix filter the input titles by how they end !
      trim returns each item in the list with whitespace, or a given character string, trimmed from the start and/or end
      Mathematics Operators
      abs calculate the absolute value of a list of numbers
      acos calculate the arccosine value (in radians) of a list of numbers
      add treating each input title as a number, add to each the numeric value of the operand
      asin calculate the arcsine value (in radians) of a list of numbers
      atan calculate the arctangent value (in radians) of a list of numbers
      atan2 returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y), for [Y]atan2[X]
      average treating each input title as a number, compute their arithmetic mean
      ceil rounds a list of numbers up to the next largest integer
      compare filter the input by comparing each item against the operand !
      cos calculate the cosine value of a list of angles (given in radians)
      divide treating each input title as a number, divide them by the numeric value of the operand
      exponential convert each number to exponential notation with N digits
      fixed convert each number to fixed point notation with N digits after the decimal point
      floor rounds a list of numbers to the largest integer less than or equal to each number
      log treating each input title as a number, return its logarithm with base equal to the numeric value of the operand if specified, otherwise base e
      max treating each input title as a number, take the maximum of its value and the numeric value of the operand
      maxall find the largest of a list of numbers
      median treating each input title as a number, compute their median value
      min treating each input title as a number, take the minimum of its value and the numeric value of the operand
      minall find the smallest of a list of numbers
      multiply treating each input title as a number, multiply it by the numeric value of the operand
      negate calculate the negation of a list of numbers
      power treating each input title as a number, raise it to the power of the numeric value of the operand
      precision convert each number to a string with N significant digits
      product produce the product of the input numbers
      remainder treating each input title as a number, return the remainder when divided by the numeric value of the operand
      round rounds a list of numbers to the nearest integer
      sign return -1, 0 or 1 for a list of numbers according to whether each number is negative, zero, or positive
      sin calculate the sine value of a list of angles (given in radians)
      standard-deviation treating each input title as a number, compute their standard-deviation
      subtract treating each input title as a number, subtract from each the numeric value of the operand
      sum produce the sum of the input numbers
      tan calculate the tangent value of a list of angles (given in radians)
      trunc truncates a list of numbers to their integer part, removing any fractional part
      untrunc rounds a list of numbers to the next integer with largest absolute value, that is, away from zero
      variance treating each input title as a number, compute their variance
      Tag Operators
      tag filter the input by tag !
      tagging find the tiddlers that have the input tags
      tags select all tags of the input tiddlers
      untagged discard any input titles that have tags !
      Special Operators
      commands select the titles of all the Node.js commands C
      deserialize extract JSON representation of tiddlers from the input strings
      deserializers C
      editiondescription select the descriptions of the input editions
      editions select the names of all the TiddlyWiki editions C
      getvariable select all values of variables named in the input titles
      modulesproperty retrieve a module property
      modules select the names of all modules of the input module types
      moduletypes select the names of all TiddlyWiki module types C
      plugintiddlers select all shadow titles in the input plugins
      shadowsource select the plugin titles that contain the input shadows
      storyviews select the names of all the story views C
      subtiddlerfields select all fields present in the selected tiddlers within a plugin
      variables select the names of all the actively defined variables C

      A typical step is written as [operator[parameter]], although not all of the operators need a parameter.

      For the exact rules, see Filter Syntax.

      Parámetros de filtro

       21 abril 2016 a las 6:57
      [nada excepto ]]{nada excepto }}<nada excepto >>

      Los parámetros de un operador son valores que pueden ser:

      rígidos o a fuego
      [tal cual]
      El parámetro es el valor exacto y literal que aparece entre corchetes.
      flexibles
      indirectos
      {tal cual}
      El parámetro es el texto indicado por la referencia cuyo nombre se muestra entre llaves, es decir, el valor de determinado campo en un tiddler en concreto o el valor de una propiedad de determinado tiddler de datos.
      variables
      <tal cual>
      El parámetro es el valor actual de la variable cuyo nombre aparece entre comillas angulares simples. Los parámetros de macros no están soportados.

      Instrucciones de filtro

       21 abril 2016 a las 6:43
      [paso]nada excepto [ ] o espacio"nada excepto ""'nada excepto ''

      Una instrucción se compone de pasos y devuelve como output una selección que contribuye a una expresión mayor.

      Los pasos se procesan de izquierda a derecha y el input del primer paso es el mismo que el de la instrucción de la que forma parte. En todos los demás pasos, el input corresponde al output del paso anterior.

      El output de un paso depende de su operador:

      • La mayoría de operadores obtienen su output a partir del input. Por ejemplo, muchos devuelven un subconjunto del input, cumpliendo así realmente con la función de "filtros", al reducir el output de la instrucción que los contiene. Estos operadores se llaman modificadores de selección.
      • Unos pocos operadores, sin embargo, ignoran el input y generan un output independiente. A estos se les llama constructores de selección, porque construyen una selección totalmente nueva.

      Un buen ejemplo de constructor es title. El output de [title[A]title[B]] es B, mientras que field es un modificador, por lo que [title[A]field:title[B] no genera output alguno.

      Las tres últimas opciones del diagrama que se muestra más arriba coinciden con sintaxis del tipo HelloThere, "HelloThere", 'HelloThere' y "Filter Operators"y son abreviaturas de [title[...]].

      Las opciones entrecomilladas existen como soporte para títulos que contengan corchetes, como "un tiddler [[[[inusual]]]]".

      The quoted options exist to support titles that contain square brackets, as in "An [[[[Unusual]]]] Tiddler".

      Filter Run Prefix (Examples)

       29 noviembre 2021 a las 3:25

      Pasos de filtro

       21 abril 2016 a las 6:33
      !operador:sufijoparametro

      Un paso representa una operación única que se realiza dentro de un filtro.

      En términos de programación, se parece a la llamada de una función en la que el input es un parámetro implícito. El output de un paso es una selección que contribuye a una instrucción y, por lo tanto, a la expresión que lo contiene en su totalidad.

      El operador de un paso se obtiene de una lista predefinida de palabras clave, que puede extenderse mediante plugins. Todo operador no reconocido se trata como sufijo de field. Si se omite el operador, se lo considera por defecto como title.

      Un sufijo es texto adicional –generalmente el nombre de un campo– que complementa el significado de ciertos operadores.

      Muchos pasos requieren un valor explícito de parámetro, llamado también operando, que concreta lo que tiene que hacer.

      Sintaxis de expresiones de búsqueda

       20 abril 2016 a las 18:31
      Los filtros siguen una gramática especial que aquí presentamos mediante diagramas sintácticos, para uso de quienes encuentran útil la descripción sintáctica formal. Puedes, sin embargo, aprender a escribir filtros sin necesidad de comprender esta sección.

      Un filtro es una una secuencia de instrucciones que transforma un input o "entrada" en un output o "salida". Tanto el input como el output son conjuntos ordenados de títulos de cosas tales como tiddlers y campos.

      Un filtro es una expresión construida con piezas más pequeñas –que llamamos instrucciones y pasos–, cada uno de los cuales transforma a su vez un input en un output.

      Un filtro comienza con un output vacío y sus ejecuciones se procesan de izquierda a derecha, modificando progresivamente dicho output.

      Estas son las diferentes piezas que componen un filtro:

      Espacios en blanco

       21 abril 2016 a las 7:34
      espaciotabuladorentrada de líneareturntabulador verticalentrada de formulario

      Entre las diferentes instrucciones de una expresión pueden aparecer diferentes caracteres en blanco.

      Filtered Attribute Values

       15 junio 2023 a las 5:52

      Filtered attribute values are indicated with triple curly braces around a Filter Expression. The value will be the first item in the resulting list, or the empty string if the list is empty.

      New in: 5.2.2 To improve readability, newlines can be included anywhere that whitespace is allowed within filtered attributes.

      This example shows how to add a prefix to a value:

      <$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />

      The value of the attribute will be the exact text from the first item in the resulting list. Any wiki syntax in that text will be left as-is.

      FIltros y expresiones de búsqueda

       19 abril 2016 a las 17:58

      Piensa en TiddlyWiki como en una base de datos cuyos registros son tiddlers. Una base de datos proporciona los medios para encontrar entre sus registros aquellos que coinciden con un determinado patrón de búsqueda. La forma de hacerlo en TiddlyWiki es mediante filtros.

      Un filtro es una expresión breve y concisa que describe a un conjunto de tiddlers llamado output o salida. Siempre que TiddlyWiki encuentra un filtro, calcula su output. De este modo, puede realizar determinadas tareas con esa selección de tiddlers en particular, como contarlos o hacer una lista con ellos.

      El siguiente ejemplo especifica un filtro de búsqueda a la macro list-links para que muestre un listado de tiddlers cuyos títulos comienzan con la letra hache:

      <<list-links "[prefix[H]]">>

      Y este es su output:

      El output cambiará en la medida en que cambie el wiki según se añadan y se eliminen tiddlers. En cualquier caso, TiddlyWIki lo volverá a calcular al vuelo, manteniendo así al día cualquier cuenta o lista basada en dicho filtro.

      Búsqueda avanzada tiene una pestaña llamada Filtro, que facilita experimentar con filtros.

      Para saber más:

      First

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      first Operator

       3 febrero 2015 a las 19:19
      purposeselect the first N input titles
      inputa selection of titles
      parameterN = an integer, defaulting to 1
      outputthe first N input titles

      Learn more about how to use Filters

      first Operator (Examples)

       18 enero 2015 a las 18:32

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]first[]]

      [list[Days of the Week]first[5]]

      [tag[Filter Operators]!sort[title]first[]]

      FirstOne

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      FirstThree

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      FirstTwo

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      fixed Operator

       11 junio 2019 a las 16:09
      purposeconvert each number to fixed point notation with N digits after the decimal point
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers converted to fixed point notation with N digits after the decimal point

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      The fixed operator returns a string representation of the input number that does not use exponential notation and has exactly the specified number of digits after the decimal place. The number is rounded if necessary, and the fractional part is padded with zeros if necessary so that it has the specified length.

      Examples

      fixed Operator (Examples)

       11 junio 2019 a las 16:07

      10.123456789 +[fixed[5]]

      [[355]divide[113]fixed[7]]

      [[1]divide[2]fixed[3]]

      floor Operator

       13 junio 2019 a las 9:44
      purposerounds a list of numbers to the largest integer less than or equal to each number
      inputa selection of titles
      outputrounds each of the input numbers to the largest integer less than or equal to the given number

      Learn more about how to use Filters

      floor Operator (Examples)

       13 junio 2019 a las 9:45

      [[1.6]floor[]]

      [[-1.6]floor[]]

      =-1.2 =-2.4 =3.6 =4.8 =5.1 +[floor[]]

      format Operator

       11 junio 2022 a las 11:47
      purposeformat the input string according to one of supported formats
      inputa selection of titles
      suffixB = one of supported formats
      parameterC = optional format string for the formats
      outputinput strings formatted according to the specified suffix B

      Learn more about how to use Filters

      New in: 5.1.23

      The suffix B is one of the following supported string formats:

      FormatDescription
      dateThe input string is interpreted as a UTC date and displayed according to the DateFormat specified in the optional operator operand. (Defaults to "YYYY MM DD 0hh:0mm")
      json New in: 5.2.4 The input string is interpreted as JSON and displayed with standard formatting. The optional operator operand specifies the number of spaces to use for indenting, or a string to use for indenting. Nothing is returned if the input string is not valid JSON
      relativedateThe input string is interpreted as a UTC date and displayed as the interval from the present instant. Any operator parameters are ignored
      timestamp New in: 5.3.0 The input string is interpreted as number of milliseconds since the ECMAScript epoch, 1 January 1970, and displayed according to the DateFormat specified in the optional operator operand. (Defaults to "[UTC]YYYY0MM0DD0hh0mm0ss0XXX")
      titlelist New in: 5.2.0 The input string wrapped in double square brackets if it contains a space. Appropriate for use in a title list.

      Invalid input strings are dropped by the format operator.

      The Title List format cannot reliably represent items that contain certain specific character sequences such as ]] . Thus it should not be used where there is a possibility of such sequences occurring.

      Examples

      format Operator (Examples)

       26 febrero 2023 a las 13:56

      These examples use the tiddler HelloThere.

      Created date with no format string specified:

      [[HelloThere]get[created]format:date[]]

      Created date with a format string supplied as operator parameter:

      [[HelloThere]get[created]format:date[DDth MMM YYYY]]

      Modified date shown as a relative date:

      [[HelloThere]get[modified]format:relativedate[]]

      Get the date and time exactly 24 hours (86,400,000 milliseconds) from now:

      [<now [UTC]YYYY0MM0DD0hh0mm0ss0XXX>format:date[TIMESTAMP]add[86400000]format:timestamp[DDth mmm YYYY 0hh:0mm:0ss]]

      A tiddler title with spaces formatted as a title list:

      [[Hello There]format:titlelist[]]

      All tiddler titles tagged with formatted as a title list:

      [tag[TableOfContents]format:titlelist[]]

      A JSON string formatted as JSON – note how the JSON string is normalised to remove the duplicated properties:

      [[{"one":"first","one":"another","two":"second"}]format:json[]]

      To create a string to save a title list into a list field, use format:titlelist[] with the join operator

      [tag[TableOfContents]format:titlelist[]join[ ]]

      For example, to save titles tagged TableOfContents to the titles field of the tiddler format titlelist test:

      <$button>Try it
      <$action-setfield $tiddler="format titlelist test" titles={{{ [tag[TableOfContents]format:titlelist[]join[ ]] }}}/>
      </$button>

      Este es su aspecto:

      Formatting in WikiText

       3 marzo 2023 a las 21:54

      Overview

      Available character formatting in WikiText includes:

      WikitextButtonShortcutRendered Output
      Double single quotes are used for ''bold text''cmd-BDouble single quotes are used for bold text
      Double slashes are used for //italic text//cmd-IDouble slashes are used for italic text
      Double underscores are used for __underlined text__cmd-UDouble underscores are used for underlined text
      Double circumflex accents are used for ^^superscripted^^ textctrl-shift-PDouble circumflex accents are used for superscripted text
      Double commas are used for ,,subscripted,, textctrl-shift-BDouble commas are used for subscripted text
      Double tilde signs are used for ~~strikethrough~~ textctrl-TDouble tilde signs are used for strikethrough text
      Single backticks are used for `code` ctrl-MSingle backticks are used for code
      Double @ characters are used to create a @@highlight@@--Double @ characters are used to create a highlight

      See Styles and Classes in WikiText for more formatting options

      Embedded Backticks

      WikitextRendered Output
      ``double backticks allows `embedded` backticks``double backticks allows `embedded` backticks

      Keyboard Shortcuts

      The full list of KeyboardShortcuts can be found in the $:/ControlPanel -> Keyboard Shortcuts tab.

      Semantic Information

      WikitextResulting HTML Code
      Double single quotes are used for ''bold text''Double single quotes are used for <strong>bold text</strong>
      Double slashes are used for //italic text//Double slashes are used for <em>italic text</em>
      Double underscores are used for __underlined text__Double underscores are used for <u>underlined text<u>
      Double circumflex accents are used for ^^superscripted^^ textDouble circumflex accents are used for <sup>superscripted</sup> text
      Double commas are used for ,,subscripted,, textDouble commas are used for <sub>subscripted</sub> text
      Double tilde signs are used for ~~strikethrough~~ textDouble tilde signs are used for <strike>strikethrough</strike> text
      Single backticks are used for `code` Single backticks are used for <code>code</code>
      Double @ characters are used to create a @@highlight@@Double @ characters are used to create a <span class="tc-inline-style">highlighted</span>

      Bold vs Strong

      In TW we use the term "bold" instead of "strong" because most users are used to it. ... The rendering process converts our "bold text" into the STRONG HTML element.

      The <strong> element is for content that is of greater importance, while the <b> element is used to draw attention to text without indicating that it's more important.
      https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong#b_vs._strong

      Underline vs. Underscore

      Use underline to describe text formatting that puts a line under the characters. Use underscore to refer to the underscore character ( _ ).
      https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/u/underline-vs-underscore

      Emphasis vs Italics

      The <em> element represents stress emphasis of its contents, while the <i> element represents text that is set off from the normal prose, such as a foreign word, fictional character thoughts, or when the text refers to the definition of a word instead of representing its semantic meaning. (The title of a work, such as the name of a book or movie, should use <cite>.)
      https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em#i_vs._em

      Formatting List Results as Tables (no CSS)

       20 diciembre 2016 a las 16:17

      Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns instead of just one straight listing. The following method creates an actual table structure and uses the nth operator to provide break points for the rows. It is not responsive, that is, it doesn't re-position to display fewer columns if the window is too small.

      In the first, outer list structure you must provide a count to indicate at item number rows should occur. So, in the following example, each row breaks after 4 items, so the sequence is 1,5,9, etc. Note that this requires you to know in advance the maximum number of items there will be. There is also an internal limit that is set to n-1 items, where n is the number of columns you want.

      Note also that you need to repeat the driving filter operator inside of the internal <$list> widget. Obviously this technique lends itself to a macro implementation.

      For other table-making techniques see also:

      Example code for a four-column table with fewer than 70 items

      <table>
      <$list filter="1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65" variable ="rows">
          <$list filter="[tag[Filter Operators]limit[50]] +[nth<rows>]" variable="cell">
              <tr>
              <td> <<cell>> </td>
              <$list filter="[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]" variable="this">
                  <td> <<this>> </td>
              </$list>
              </tr>
          </$list>
      </$list>
      </table>

      Result

      abs Operator acos Operator add Operator addprefix Operator
      addsuffix Operator after Operator all Operator allafter Operator
      allbefore Operator append Operator applypatches Operator asin Operator
      atan Operator atan2 Operator average Operator backlinks Operator
      before Operator bf Operator butfirst Operator butlast Operator
      ceil Operator charcode Operator commands Operator compare Operator
      contains Operator cos Operator count Operator cycle Operator
      days Operator decodebase64 Operator decodehtml Operator decodeuri Operator
      decodeuricomponent Operator deserialize Operator deserializers Operator divide Operator
      duplicateslugs Operator each Operator eachday Operator editiondescription Operator
      editions Operator else Operator encodebase64 Operator encodehtml Operator
      encodeuri Operator encodeuricomponent Operator enlist Operator enlist-input Operator
      escapecss Operator escaperegexp Operator

      Formatting List Results as Tables with CSS - Specified Columns Methods

       20 diciembre 2016 a las 16:16

      Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses ~CSS to set up listing as columns and assumes that you know how many columns you want. The method here is to create a style that reflects the number of columns you want your table to be in, and then apply that style to the resulting list output.

      For other table-making techniques see also:

      1) Create a tiddler for the columns tagged with $:/tags/Stylesheet, containing:

      /* FOUR COLUMN MODE */
      .fourcolumns {
         display:block;
         column-count:4;
         column-gap:1em;
         -moz-column-count:4;
         -moz-column-gap:1em;
         -webkit-column-count: 4;
         -webkit-column-gap:1em;
      }

      Note the various places you need to indicate the number of columns

      2) Then format your output like this:

      @@.fourcolumns
      <$list filter="[tag[Filter Operators]]" variable="foo">
      <<foo>><br>
      </$list>
      @@

      Example showing partial list of filter operators

      abs Operator
      acos Operator
      add Operator
      addprefix Operator
      addsuffix Operator
      after Operator
      all Operator
      allafter Operator
      allbefore Operator
      append Operator
      applypatches Operator
      asin Operator
      atan Operator
      atan2 Operator
      average Operator
      backlinks Operator
      before Operator
      bf Operator
      butfirst Operator
      butlast Operator
      ceil Operator
      charcode Operator
      commands Operator
      compare Operator

      Formatting List Results as Tables with CSS - Variable Column Method

       20 diciembre 2016 a las 16:28

      Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses CSS to set up listing as columns. It is responsive, that is, re-positioning to display fewer columns if the window is too small.

      You don't directly specify a fixed number of columns but instead specify the max-width for the list (which could be a transclusion of the tiddler width) and the width for each item. It lists from left to right, then wraps to a new row.

      For other table-making techniques see also:

      Example listing using 50 existing TiddlyWiki tags

      <div class="dynamic-table">
        <$list filter="[has[tags]tags[]sort[title]first[50]]">
          <span class="item">
            <$transclude tiddler="$:/core/ui/TagTemplate"/>
          </span>
        </$list>
      </div>

      Example stylesheet to use with listing

      <style>
      .dynamic-table {
        max-width:700px; /* could transclude tiddler width instead */
        -ms-box-orient: vertical; /* might be unnecessary */
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -moz-flex;
        display: -webkit-flex;
        display: inline-flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        flex-direction: row;
      }
      
      .item {
        max-width:160px; min-width:160px;
        flex: 0 0 2em; /* -grow, -shrink, -basis */
      }
      </style>

      Results

      Dar formato al texto en TiddlyWiki

       24 abril 2016 a las 6:25

      Para controlar cómo se muestra el texto de un tiddler, puedes usar un formateo especial que llamamos WikiText.

      Formato simple

      En su forma más simple, WikiText te permite usar funciones habituales en el proceso de textos como negrita, cursiva, listas y tablas. Por ejemplo:

      At its simplest, WikiText lets you use familiar word-processing features like bold, italic, lists and tables. For example:

      Jovencillo ''emponzoñado'' de ~~whisky~~ ¡Qué //figurota// `exhibe`!
      

      … se muestra como:

      Jovencillo emponzoñado de whisky ¡Qué figurota exhibe!

      Working with Tiddlers

      Se puede enlazar a otros tiddlers en WikiText usando corchetes dobles o aprovechando la función de enlace automático de las palabras en CamelCase:

      Este es un enlace al tiddler HelloThere y, este otro, a [[Historia de TiddlyWiki|History of TiddlyWiki]]

      … se muestra como:

      Este es un enlace al tiddler HelloThere y, este otro, a Historia de TiddlyWiki

      Macros

      Las macros permiten empaquetar fragmentos de WikiText de difícil ejecución o que se repiten con frecuencia, para así poder usarlos con facilidad y consistentemente.

      Por ejemplo, esta es la definición de una macro que inserta un icono y da formato especial a a un texto usado como advertencia, por ejemplo, en un manual:

      \define .warning(_) <div class="doc-icon-block"> <div class="doc-block-icon">{{$:/core/images/warning}}</div> $_$</div>

      El código que la define hace referencia, en este caso, a clases definidas en la hoja de estilos del documento.

      Para llamar una macro en WikiText, la escribimos entre dobles comillas angulares simples y con el texto al que queremos aplicarla entre comillas rectas: <<.warning "texto">>

      El resultado tiene este aspecto:

      Este es un texto que, de no ser por la macro .warning, tendríamos que formatear a mano cada vez que quisiéramos insertar un texto de advertencia, lo que por un lado tiene su complejidad y, por otro, lleva tiempo y está sujeto a errores. De este modo nos aseguramos rápidamente, sin posibilidad de error y sin distracciones, de que todas las advertencias que escribimos tienen el mismo aspecto

      WikiText avanzado

      Las funciones avanzadas de WikiText te permiten generar listas automáticamente entre otras funciones interactivas como menús desplegables. De hecho, la interfaz entera de TiddlyWiki está escrita en WikiText, de modo que casi todo cuanto ves puede es adaptable para su uso en otros wikis.

      Algunas de estas funciones avanzadas requieren el uso de código complejo. Por ese motivo TIddlyWiki incorpora varias macros que simplifican algunas tareas en la interfaz de usuario, como la creación de pestañas, tablas de contenido y listas.

      Aquí tienes instrucciones más extensas y detalladas sobre el uso de WikiText

      Foros

       13 abril 2016 a las 16:25

      Foros de discusión de TiddlyWiki.

      Son listas de correo en las que hablamos de TiddlyWiki: pedimos ayuda, anunciamos la publicación de nuevas ediciones o de nuevos plugins, debatimos sobre nuevas características, o simplemente compartimos experiencias.

      Puedes participar a través de la página web asociada, o suscribirte via mail.

      Usuarios

      Grupo principal de TiddlyWiki

      No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:

      Además, puedes participar en nuestras reuniones periódicas online

      o síguenos en Twitter si quieres recibir las últimas noticias

      Desarrolladores

      Grupo de desarrollo de TiddlyWiki

      No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:

      Accede a nuestra página de desarrollo en GitHub y haz tu contribución.

      Síguenos en Twitter si quieres estar al tanto de las últimas noticias

      Las nuevas ediciones de TiddlyWiki, TiddlyDesktop y TiddlyFox se anuncian en los foros de discusión y en Twitter.

      También puedes suscribirte al feed de versiones en GitHub

      Fourth

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      Friday

       16 noviembre 2021 a las 22:11

      This example tiddler is used to illustrate some of the Filter Operators.

      Edición completa

       5 junio 2016 a las 5:03

      La edición completa de ~Tiddlywiki consta de todos los idiomas, temas y plugins disponibles. Su uso está previsto para pruebas, especialmente para el cambio de un idioma a otro.

      La edición completa puede descargarse de:

      https://tiddlywiki.com/editions/full/

      Full Text Search Plugin by Rob Hoelz

       6 enero 2021 a las 15:10

      A plugin to integrate the popular lunr.js search engine, giving TiddlyWiki much more sophisticated search capabilities:

      https://hoelz.ro/files/fts.html

      Provides an alternative search result list that orders results by search relevance and ignores differences in word forms (ex. tag vs tags).

      On my personal wiki, I have the problem that there are terms I use across a lot of tiddlers, and sometimes I'll use different forms (such as the aforementioned tag vs tags). I wanted a plugin to allow me to find the tiddler I'm looking for quickly and didn't require me to worry about how I declined a noun or inflected a verb - so I wrote this plugin, which provides an alternative search list powered by lunr.js.

      function Operator

       19 abril 2023 a las 11:31
      purposeapply a function to the input list, and return the result
      inputa selection of titles passed as input to the function F
      parameterF = first parameter is the function name, subsequent parameters are passed to the function by position
      outputthe selection of titles returned from the function F

      Learn more about how to use Filters

      New in: 5.3.0 The function operator applies a named function to the input titles, and returns the results from the function. The function is invoked once with all of the input titles (in contrast, the filter Operator invokes its function separately for each input title).

      The first parameter of the function operator specifies the name of the function to be called. Subsequent parameters are passed to the function.

      The mapping between the parameters is positional, with each consecutive parameter specified in the function call mapped to the corresponding parameter in the function definition. Any parameters that are not provided are given their default values.

      Compare with the similar filter and subfilter operators which take a filter strings as their parameter instead of a named function, and does not permit parameters to be passed

      Examples

      Functions

       19 abril 2023 a las 11:31

      Introduction

      New in: 5.3.0 A function is a named snippet of text containing a Filter Expression. Functions can have named parameters which are available within the function as variables.

      Functions are usually defined with the Pragma: \function:

      \function my-function(parameter:"2")
      [<parameter>multiply[1.5]]
      \end

      Functions can be invoked in several ways:

      • Directly transclude functions with the syntax <<myfn param:"value">>
      • Assign functions to widget attributes with the syntax <div class=<<myfn param:"value">>>
      • Invoke functions via the function Operator with the syntax [function[myfn],[value],...]
      • Directly invoke functions whose names contain a period as custom filter operators with the syntax [my.fn[value]] or [.myfn[value]]

      How Functions Work

      Functions are implemented as a special kind of variable. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.

      Funding TiddlyWiki

       4 diciembre 2022 a las 16:56

      TiddlyWiki is more useful to everybody if it is free to use, with no financial barriers to long term adoption. It is not altruism; we believe that removing or reducing barriers to adoption will help to ensure TiddlyWiki's future by making the community larger and stronger.

      Nonetheless, TiddlyWiki is a relatively big, complex machine that requires a significant amount of ongoing work to maintain and improve. Some community infrastructure also requires monthly fees to operate (notably the TiddlyWiki forum).

      The people in the community that do the work have widely varying needs:

      • At one end, a good proportion of the work on TiddlyWiki is performed by community members on a purely voluntary basis. For those people, the satisfaction of helping others is sufficient reward. Indeed, for many people, unpaid voluntary activities are a satisfying antidote to everyday paid work
      • At the other extreme, JeremyRuston and some other contributors are trying to make a full-time living working on TiddlyWiki by offering commercial products and services around it
      • In between, there are other people who would appreciate an ocassional token to reward them for their work

      To support these needs in the community, we have two initiatives:

      • We use Open Collective to collect donations for the infrastructure costs of the Community and to crowdfund specific developments by individuals or organisations
      • The TiddlyWiki Marketplace provides a shop window for individuals and organisations offering commercial products and services

      Funding.png

       

      A prueba de futuro

       3 mayo 2016 a las 17:19

      TiddlyWiki se ha diseñado teniendo en mente las necesidades de perdurabilidad del usuario.

      Puesto que es OpenSource y no necesita infrastructura alguna, podemos asegurar que lo único que necesitarás para acceder a un archivo de TiddlyWiki, incluso en un futuro lejano, es un navegador HTML normal y corriente. Si estás hoy al inicio de tu carrera, puedes estar seguro de que podrás seguir usándolo cuando te jubiles.

      Generating Static Sites with TiddlyWiki

       21 abril 2020 a las 1:34

      TiddlyWiki5 can be used to generate static HTML representations of a TiddlyWiki that doesn't need JavaScript. This process requires that TiddlyWiki be installed on Node.js on your local system. See Installing TiddlyWiki on Node.js for details.

      There is much flexibility in how the static HTML is generated. The following scenarios are all illustrated on https://tiddlywiki.com.

      Wiki Snapshots and Tiddler Snapshots

      You can explore a static representation of the main TiddlyWiki site at https://tiddlywiki.com/static.html. That file is a static snapshot of the current DefaultTiddlers. Any tiddlers that it links to are referred to via URLs of the form /static/HelloThere.html that point to static snapshots of individual tiddlers. The tiddler HTML files reference a static.css stylesheet file.

      The following commands are used to generate the sample static version of the TiddlyWiki5 site:

      tiddlywiki wikipath --rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html static text/plain
      tiddlywiki wikipath --rendertiddler $:/core/templates/static.template.html static.html text/plain
      tiddlywiki wikipath --rendertiddler $:/core/templates/static.template.css static/static.css text/plain

      The first RenderTiddlersCommand generates the HTML representations of individual tiddlers, the second RenderTiddlerCommand saves the static version of the DefaultTiddlers, and the final RenderTiddlerCommand saves the stylesheet. (All the files are placed in the output folder of the wiki folder).

      Wiki Snapshot with Internal Links

      It is also possible to produce a single HTML file that contains static representations of tiddlers, and uses standard HTML anchor links to jump between them.

      For example: https://tiddlywiki.com/alltiddlers.html

      The example is built by the following commands:

      --rendertiddler $:/core/templates/alltiddlers.template.html alltiddlers.html text/plain

      GenesisWidget

       15 enero 2023 a las 10:18

      Introduction

      New in: 5.2.4 The $genesis widget allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance.

      Content and Attributes

      The content of the $genesis widget is used as the content of the dynamically created widget.

      AttributeDescription
      $typeThe type of widget or element to create (an initial $ indicates a widget, otherwise an HTML element will be created)
      $namesAn optional filter evaluating to the names of a list of attributes to be applied to the widget
      $valuesAn optional filter evaluating to the values corresponding to the list of names specified in $names
      $modeAn optional override of the parsing mode. May be "inline" or "block"
      {other attributes starting with $}Other attributes starting with a single dollar sign are reserved for future use
      {attributes starting with $$}Attributes starting with two dollar signs are applied as attributes to the output widget, but with the attribute name changed to use a single dollar sign
      {attributes not starting with $}Any other attributes that do not start with a dollar are applied as attributes to the output widget or HTML Element

      New in: 5.2.6 If the $type attribute is missing or blank, the $genesis widget does not render an intrinsic element, instead just rendering its children.

      Note that attributes explicitly specified take precedence over attributes with the same name specified in the $names filter.

      Examples

      <$genesis $type="div" class="tc-thing" label="Squeak">Mouse</$genesis>

      Tiene este aspecto:

      Mouse

      ... y su código HTML es:

      <p><div class="tc-thing" label="Squeak">Mouse</div></p>
      \define my-banner(mode:"inline",caption)
      <$genesis $type={{{ [<__mode__>match[inline]then[span]else[div]] }}} class="tc-mybanner">
      <<__caption__>>
      </$genesis>
      \end
      
      <<my-banner caption:"I'm in a SPAN">>
      
      <<my-banner mode:"block" caption:"I'm in a DIV">>
      

      Tiene este aspecto:

      \define my-banner(mode:"inline",caption)

      \end

      ... y su código HTML es:

      <p><span class="tc-mybanner">
      I'm in a SPAN
      </span></p><p><div class="tc-mybanner">
      I'm in a DIV
      </div></p>

      Important

      In the following example the widget attribute named one is not present in the HTML output. This is because HTML attributes starting with the prefix on are removed for security reasons. See HTML in WikiText "Security" for more details. This restriction only affects generated HTML elements, and does not prevent the use of attributes prefixed on with other widgets

      <$genesis $type="my-element" $names="one two" $values="1 2">Test Genesis Widget</$genesis>

      Tiene este aspecto:

      Test Genesis Widget

      ... y su código HTML es:

      <p><my-element two="2">Test Genesis Widget</my-element></p>

      get Operator

       9 marzo 2023 a las 16:38
      purposeselect all values of a field in the input titles
      inputa selection of titles
      parameterF = the name of a field
      outputthe values of field F in each of the input titles

      Learn more about how to use Filters

      Each input title is processed in turn. If the corresponding tiddler contains field F, and the value of this field is not empty, then its value is appended to the output.

      Unlike most other Filter Operators, the selection output by get can contain duplicates. To avoid duplicates, use get[F]unique[].

      Examples

      get Operator (Examples)

       25 marzo 2023 a las 16:34

      [all[current]get[draft.of]]
      → the title of the tiddler of which the current tiddler is a draft

      [get[tags]]
      → returns the tags of all tiddlers without de-duplication

      [get[tags]unique[]]
      → returns the tags of all tiddlers with de-duplication

      If a data tiddler contains a field with an empty value, the empty string is not appended to the results.

      [all[current]get[myfield]]
      → the empty value of field myfield is not returned by the get operator

      [all[current]has:field[myfield]] :map[get[myfield]]
      → also returns the empty string

      The above example works by first checking if the input title has the field myfield and then using the Map Filter Run Prefix to replace the title with their value of that field. If the input tiddler does not have the field, an empty selection is returned. The subsequent Map Filter Run Prefix outputs an empty string when its run returns an empty selection (because the field is empty).

      [all[tiddlers]] :filter[get[created]compare:date:lt{HelloThere!!created}]
      → return all tiddlers that are older than HelloThere

      The above example demonstrates two different ways of accessing field values in filters: Use get when the title is not known in advance as with the Filter Filter Run Prefix where currentTiddler is set to the current input title. Use a TextReference as an indirect Filter Parameter when the title is known.

      Conseguir el anillo

       18 abril 2016 a las 5:57

      Tarea de muestra para el Ejemplo de administración de tareas

      getindex Operator

       9 marzo 2023 a las 16:38
      purposeselect all values of a data property in the input titles
      inputa selection of titles
      parameterP = the name of a property
      outputthe values of property P in each of the input titles

      Learn more about how to use Filters

      Each input title is processed in turn, and is ignored if it does not denote a data tiddler. If the corresponding tiddler contains property P, and the value of this property is not empty, then its value is appended to the output.

      Unlike most other Filter Operators, the selection output by getindex can contain duplicates. To avoid duplicates, use getindex[P]unique[].

      Examples

      getindex Operator (Examples)

       25 marzo 2023 a las 16:35

      [[$:/palettes/Vanilla]getindex[background]]
      → returns the value of property background of the DataTiddler $:/palettes/Vanilla

      [all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]
      → returns all background colors defined in any of the ColourPalettes (notice the duplicates in the resulting list)

      If a data tiddler contains a property with an empty value, the empty string is not appended to the results.

      [[ListopsData]getindex[DataIndex]]
      → the empty value of the property DataIndex in ListopsData is not returned by the getindex operator

      [[ListopsData]has:index[DataIndex]] :map[getindex[DataIndex]]
      → also returns the empty string

      The above example works by first checking if the input title has the property DataIndex and then using the Map Filter Run Prefix to replace the title with their value of that property. If the input tiddler does not have the property, an empty selection is returned. The subsequent Map Filter Run Prefix outputs an empty string when its run returns an empty selection (because the property is empty).

      [[$:/palettes/Vanilla]indexes[]] :filter[[$:/palettes/Vanilla]getindex<currentTiddler>count[]compare:number:eq[0]]
      → returns those colors in $:/palettes/Vanilla which are defined, but have no value assigned

      In the above example, count is used to check if getindex returns a result (i.e. the corresponding property has a value) or not.

      Videotutorial de inicio

       21 abril 2016 a las 14:49

      Este breve tutorial te enseña cómo guardar cambios en TiddlyWIki.

      El video está un poco anticuado, pero esperamos poder ponerlo pronto al día.

      Puesta en marcha

       3 junio 2016 a las 14:26

      Breves instrucciones para empezar a trabajar en las diferentes plataformas y configuraciones con las que TiddlyWiki es compatible. Aquí encontrarás una introducción algo más amena.

      Solución de problemas:

      • No intentes guardar cambios con la opción Archivo/Guardar o Guardar como del navegador: No funciona

      Te interesa ver también:

      • Cifrado explica cómo usar la función incorporada de cifrado para proteger tus contenidos con contraseña.
      • Guardar en TiddlySpot, servicio gratuito que te permite usar TiddlyWiki online
      • Guardar en TiddlyDesktop, aplicación para trabajar con TiddlyWiki en el escritorio
      • También puedes descargar este TIddlywiki en su versión íntegra, con toda su documentación:

      Si el botón no funciona, guarda el siguiente enlace:

      https://tiddlywiki.com/languages/es-ES/index.html

      El navegador puede pedirte que confirmes la acción antes de comenzar la descarga

      EnMarcha - Android

       13 abril 2016 a las 9:48

      Hay dos formas de usar TiddlyWiki en Android:

      Con Firefox y TiddlyFox

      También puedes consultar el video tutorial

      1. Asegúrate de que tienes la última versión de Firefox para Android
      2. Descarga e instala la última versión de la extensión TiddlyFox de:
      3. Instala esta extensión para poder guardar localmente el archivo TiddlyWiki:
      4. Descarga un TiddlyWiki en blanco guardando el enlace:
        Para guardar el enlace, mantenlo presionado y selecciona "Save link" (asegúrate de tener instalada la extensión "save-link-menus")
      5. Cuando se haya descargado el archivo, haz click en él, bien en la barra de notificaciones, bien en el administrador de descargas.
      6. Para abrirlo, selecciona Firefox en vez del navegador por defecto de Android.
      7. Haz clic en OK cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo.
      8. Comprueba que funciona con el botón Nuevo tiddler de la barra lateral. Escribe algo en el tiddler y haz click en el botón OK
      9. Guarda ahora los cambios haciendo click en el botón Guardar cambios de la barra lateral.
        • Arriba a la derecha aparecerá una notificación en amarillo que dice Guardado
      10. Actualiza la ventana del navegador para comprobar que los cambios se han guardado correctamente.

      Con AndTidWiki

      La aplicación para dispositivos Android AndTidWiki permite editar y guardar cambios en TiddlyWiki5, incluso al trabajar offline, sin conexión de red.

      Descárgala de aquí.

      Nota: AndTidWiki es un proyecto independiente de TiddlyWiki

      EnMarcha - Chrome

       13 abril 2016 a las 9:58

      En Google Chrome, TiddlyWiki sólo puede guardar cambios usando el módulo alternativo de guardado compatible con HTML5

      Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado. Tiene, sin embargo, la ventaja de que funciona en casi todos los navegadores de escritorio y en muchos navegadores móviles.

      1. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      2. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, siempre que mantengas la extensión .html o .htm
      3. Abre el archivo en el navegador
      4. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      5. Guarda los cambios con el botón Guardar cambios de la barra lateral
      6. El navegador descargará una copia del wiki que incluye tus cambios.
      7. Localiza el archivo nuevo y ábrelo en el navegador
      8. Comprueba que los cambios se han guardado correctamente

      Consejo: la mayoría de navegadores permiten la opción de especificar la localización de cada descarga, en lugar de descargar a la carpeta por defecto. Esta opción te permite "planchar" tu archivo con la nueva versión.

      EnMarcha - Firefox

       13 abril 2016 a las 10:53

      Como mejor funciona TiddlyWIki en Firefox es con la extensión TiddlyFox.

      Si usas Firefox para Android, las instrucciones que necesitas son estas.

      1. Comprueba que tienes la última versión de Firefox
      2. Descarga e instala la última versión disponible de TiddlyFox
      3. Reinicia Firefox
      4. Descarga un TiddlyWiki en blanco pulsando este botón:
      5. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, pero mantén la extensión .html o .htm
      6. Abre el archivo en Firefox
      7. Dale a OK cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo
      8. Crea un nuevo tiddler usando el botón Nuevo de la barra lateral. Escribe algo en él y haz clic en el botón OK
      9. Guarda los cambios con el botón Guardar de la barra lateral
      10. Recarga la página para comprobar que se han guardado correctamente los cambios

      EnMarcha - Internet Explorer

       13 abril 2016 a las 11:00
      1. Descarga e instala la extensión TiddlyIE:
      2. Reinicia Internet Explorer. Se te preguntará si quieres activar TiddlyIE
        Puede que también te pida activar Microsoft Script Runtime
      3. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      4. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, pero mantén la extensión .html o .htm
      5. Abre el archivo con Internet Explorer
      6. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      7. Guarda los cambios con el botón Guardar cambios de la barra lateral. Internet Explorer abrirá un cuadro de diálogo para que confirmes que quieres guardar el archivo localmente.
      8. Recarga la página para comprobar que los cambios se han guardado correctamente

      En Ejecutar como Aplicación HTA se describe un método alternativo para usar TiddlyWiki con Internet Explorer.

      EnMarcha - IOS

       13 abril 2016 a las 11:40

      La aplicación para iPad e iPhone TWEdit permite editar y guardar cambios en TiddlyWiki5, incluso cuando se trabaja offline, sin conexión de red. Descárgala aquí.

      Instrucciones de uso:

      1. Abre TWEdit
      2. Toca el título en el centro de la barra de herramientas en uso
        • Aparecerá un cuadro de texto en el que puedes indicar una URL
      3. Escribe la URL https://tiddlywiki.com/languages/es-ES/empty.html
      4. Cuando se cargue el TiddlyWiki vacío, toca el icono Guardar (el segundo icono por la derecha, en la barra superior)
        • Aparecerá un cuadro de alerta en el que debes indicar un nombre para el archivo local.
        • Escribe el nombre que quieras usar para tu documento (siempre con la extensión .html)
      5. Comprueba que funciona con el botón Nuevo tiddler de la barra lateral. Escribe algo en el tiddler y haz click en el botón OK
      6. Guarda ahora los cambios haciendo click en el botón Guardar cambios de la barra lateral.
        • Aparecerá un mensaje de confirmación arriba a la derecha

      Nota: TWEdit es un proyecto independiente de TiddlyWiki

      EnMarcha - Node.js

       13 abril 2016 a las 11:55
      1. Descarga e instala Node.js desde la página oficial: http://nodejs.org
      2. Abre una terminal de línea de comandos y teclea:
        npm install -g tiddlywiki (ver nota * más abajo)
        Si te da fallo, necesitas volver a ejecutar la orden como administrador:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Comprueba que TiddlyWiki se ha instalado con el comando:
        tiddlywiki --version
      4. Si todo está bien, TiddlyWiki devolverá el número de versión (p. ej, en este caso, 5.3.2-prerelease. Puede que también muestre alguna información complementaria, de depuración.
      5. Probemos a ponerlo en marcha:
        1. tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.
        2. tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
        3. Abre el navegador y escribe http://127.0.0.1:8080/ (o localhost:8080) en la barra de direcciones.
        4. Crea y edita tiddlers del modo acostumbrado. Los cambios se guardarán automáticamente en la carpeta miwiki/tiddlers
        5. Para apagar TiddlyWiki, cierra el navegador y haz Ctrl-C en la línea de comandos (o ciérrala: la consola te advertirá de que al hacerlo matarás el proceso en marcha. Confirma y listo)
      6. # Como opción, puedes hacer una copia offline del wiki:
        • Con TiddlyWiki abierto en el navegador, haz click en el botón Guardar cambios de la barra lateral
        • Con TiddlyWiki apagado y desde el mismo directorio desde donde lo iniciaste, teclea el siguiente comando en la consola:
        tiddlywiki --build index
      Nota: El argumento -g hace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.
      Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo node: command not found pese a haber instalado node.js, puede que necesites crear un enlace simbólico entre nodejs y node. En tal caso, consulta el manual de tu distribución de Linux y whereis (más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).
      Ejemplo en Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node

      GettingStarted - Online

       14 noviembre 2021 a las 3:16

      TiddlyWiki can also be hosted on online services such as Dropbox and Cloudant.

      Dropbox (syncs the entire HTML file)
      To edit files stored in your Dropbox, go to http://tiny.cc/tw5inthesky/. This will allow you to open any HTML files found.
      Cloudant (or another CouchDB-type server) (syncs individual tiddlers)
      http://noteself.github.io/

      EnMarcha - Safari

       13 abril 2016 a las 15:30

      En Safari, TiddlyWiki sólo puede guardar cambios de forma manual, valiéndose para ello del módulo alternativo de guardado compatible con HTML5.

      Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado.

      1. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      2. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, siempre que mantengas la extensión .html o .htm
      3. Abre el archivo en el navegador
      4. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      5. Guarda los cambios con el botón Guardar cambios de la barra lateral
      6. Se mostrará una ventana emergente Descargar cambios, con un enlace con el nombre Clic-derecho para guardar cambios
      7. Haz clic con el botón derecho y selecciona Descargar destino como... (u opción parecida) en el menú desplegable
      8. Ve hasta la carpeta que contiene el archivo HTML de tu wiki y selecciona el archivo
      9. Clic en el botón Guardar
      10. Clic en Reemplazar para confirmar la sustitución del archivo existente
      11. Comprueba que los cambios se han guardado correctamente

      getvariable Operator

       30 marzo 2019 a las 10:01
      purposeselect all values of variables named in the input titles
      inputa selection of variable names
      parameterignored
      outputthe values of each of the variables named in the input titles (or blank if the variable is not defined)

      Learn more about how to use Filters

      New in: 5.1.20 The usual way to retrieve a variable value within a filter is with the angle brackets notation. For example, [<currentTiddler>] will retrieve the value of the variable called currentTiddler.

      The getvariable filter operator provides an alternative way to retrieve a variable. For example, [[currentTiddler]getvariable[]] is another way to retrieve the value of the variable currentTiddler.

      The advantage of getvariable is that it makes it possible to work with variables whose name is computed, and not known in advance. For example, [<myvariable>getvariable[]] gets the value of the variable whose name is given in the variable myvariable.

      Examples

      getvariable Operator (Examples)

       30 marzo 2019 a las 10:01

      [[currentTiddler]getvariable[]]
      → returns the value of the variable currentTiddler

      Git

       23 julio 2023 a las 8:30
      Git (/ɡɪt/) is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different computers).
      https://en.wikipedia.org/wiki/Git

      GitHub

       23 julio 2023 a las 8:43

      GitHub is a hosting service for distributed projects that use git as their version-control system. It allows free hosting and management of open-source projects and facilitates collaborative development on the source code. Using GitHub for non-open-source endeavours requires additional fees.

      The code and documentation of TiddlyWiki is hosted on GitHub at:

      https://github.com/Jermolene/TiddlyWiki5

      GitHub also offer a free web hosting service called GitHub Pages that can be used directly from the single file configuration. See Saving to a Git service.

      An alternative to GitHub is GitLab

      GitHub Saver Tutorial by Mohammad

       23 julio 2023 a las 8:45

      GitHub Saver is a step by step tutorial that shows how to integrate Tiddlywiki 5 and GitHub Pages to create websites hosted on https://github.com/.

      https://kookma.github.io/TW5-GitHub-Saver/

      This instruction is based on Tiddlywiki single html file model, while it can use subfolder for extra materials like images, audios, videos, pdfs,... in separate folders.

      Other tutorials

      Tiddlywiki, Travis-CI and GitHub Pages
      https://kookma.github.io/Tiddlywiki-Travis-CI/
      This wiki shows how to set up websites hosted on GitHub Pages using Travis-CI and Tiddlywiki 5 on Node.js.
      Tiddlywiki and GitHub Pages
      https://kookma.github.io/Tiddlywiki-and-GitHub-Pages/
      This instruction is based on local edit, save and push to GitHub. It does NOT use the new GitHub Saver mechanism (requires TW 5.1.20+) which lets edit and save directly from Tiddlywiki!

      GitLab

       23 julio 2023 a las 8:39
      GitLab Inc. is an open-core company that operates GitLab, a DevOps software package which can develop, secure, and operate software. The open source software project was created by Ukrainian developer Dmytro Zaporozhets and Dutch developer Sytse Sijbrandij
      https://en.wikipedia.org/wiki/GitLab

      Both GitLab and GitHub use Git a distributed version control system, that can be used to store, view and edit TiddlyWiki wikis using GitLab Pages

      Learn more at: Saving to a Git service

      Glosario en-GB -> es-ES

       11 abril 2016 a las 18:47
      en-GBes-ESComentario
      TiddlerTiddlerInvariable

      (Véase el capítulo de tablas para saber cómo editar el glosario)


      ¡Importante!! - Palabras y referencias reservadas para el sistema

      • Nombres de campo y sus referencias (nombre del campo, sin separador, seguido de Field. P. Ej.:ListField)
      • Nombre de widgets. P. Ej.: NavigatorWidget

      Ir a Mordor

       18 abril 2016 a las 5:57

      Tarea de muestra para el Ejemplo de administración de tareas

      Grok TiddlyWiki Banner

       

      GroupedLists

       21 febrero 2015 a las 23:01

      The following sidebar tabs give examples of grouped lists created by nesting.

      Types Tab

      For the Types tab, the outer list filter as shown below selects each discrete value found in the type field. The inner list filter selects all the (non-system) tiddlers with that type.

      \whitespace trim
      <$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>
      <div class="tc-menu-list-item">
      <$view field="type"/>
      <$list filter="[type{!!type}!is[system]sort[title]]">
      <div class="tc-menu-list-subitem">
      <$link to={{!!title}}><$view field="title"/></$link>
      </div>
      </$list>
      </div>
      </$list>
      

      Recent Tab

      The list in the Recent tab is generated using the timeline macro. Here, the outer list filter selects each discrete day found in the modified field, while the inner list filter selects all the tiddlers dated the same day in the modified field.

      $:/core/macros/timeline:

      <!-- Override one or both of the following two macros with a global or local macro of the same name 
      if you need to change how titles are displayed on a timeline -->
      
      \define timeline-title() <$view field="title"/>
      \define timeline-link() <$link to={{!!title}}><<timeline-title>></$link>
      \define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
      \whitespace trim
      <div class="tc-timeline">
      <$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
      <div class="tc-menu-list-item">
      <$view field="$dateField$" format="date" template="$format$"/>
      <$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
      <div class="tc-menu-list-subitem">
      <<timeline-link>>
      </div>
      </$list>
      </div>
      </$list>
      </div>
      \end
      

      GuerillaWiki

       17 agosto 2014 a las 15:10

      TiddlyWiki makes a great GuerillaWiki in situations where it is not practical to use a traditional wiki.

      For instance, in a corporate setting, persuading an over-worked IT department to install a Wiki server for you is seldom going to be possible overnight. And if your PC is locked down you can't install a conventional Wiki yourself. Equally, you can't go and use one of the public hosted Wiki services because your Information Security department would not allow all that corporate data to flow into an outside server.

      TiddlyWiki slices through those barriers by being usable on virtually all PCs.

      Hamlet

       4 marzo 2023 a las 16:21
      {
          "Shakespeare-old": "Hamlet: Do you see yonder cloud that's almost in shape of a camel?\nPolonius: By the mass, and 'tis like a camel, indeed.\nHamlet: Methinks it is like a weasel.\nPolonius: It is backed like a weasel.\nHamlet: Or like a whale?\nPolonius: Very like a whale.\n-- Shakespeare",
          "Shakespeare-new": "Hamlet: Do you see the cloud over there that's almost the shape of a camel?\nPolonius: By golly, it is like a camel, indeed.\nHamlet: I think it looks like a weasel.\nPolonius: It is shaped like a weasel.\nHamlet: Or like a whale?\nPolonius: It's totally like a whale.\n-- Shakespeare",
          "Trekkie-old": "Kirk: Do you see yonder cloud that's almost in shape of a Klingon?\nSpock: By the mass, and 'tis like a Klingon, indeed.\nKirk: Methinks it is like a Vulcan.\nSpock: It is backed like a Vulcan.\nKirk: Or like a Romulan?\nSpock: Very like a Romulan.\n-- Trekkie"
      }

      Enlaces físicos y simbólicos

       11 mayo 2016 a las 7:07

      Un enlace físico o hard link es uno que puede reconocerse visualmente, examinando el texto en WikiText.

      Un enlace es simbólico o soft link si:

      • forma parte de una transclusión de otro tiddler
      • proviene de una macro o una variable
      • lo genera un widget cuyo atributo to es una transclusión, macro o variable

      Los operadores de filtro como backlinks, links, all o is no reconocen enlaces simbólicos.

      Hard Linebreaks in WikiText

       14 diciembre 2013 a las 17:01

      The usual handling of paragraphs in wikitext causes single line breaks to be ignored, and double linebreaks to be interpreted as the end of a paragraph.

      This behaviour isn't convenient when dealing with material that incorporates hard linebreaks - for instance, poetry. You can mark a block of content as containing hard line breaks like this:

      """
      This is a line
      and this is a new line
      while this is yet another line
      and this is the final one
      apart from this one
      """

      Tiene este aspecto:

      This is a line
      and this is a new line
      while this is yet another line
      and this is the final one
      apart from this one

      ... y su código HTML es:

      <p>This is a line<br>and this is a new line<br>while this is yet another line<br>and this is the final one<br>apart from this one<br></p>

      Hard Linebreaks with CSS

       26 enero 2017 a las 21:10

      Since TiddlyWiki Version 5.1.16, it's possible to apply customs styles with data- attributes. see: How to apply custom styles

      The Custom data-styles stylesheet tiddler contains the following definition:

      [data-tags*="example-hardlinebreaks"] .tc-tiddler-body {
        word-break: normal; 
        word-wrap: break-word;
        white-space: pre-wrap;
      }

      If rendered without the tag, the content of "Hard Linebreaks with CSS - Example" will be shown like this:

      The following text is rendered without any special WikiText syntax. So most of the WikiText functionality will be accessible. This is a line and this is a new line while this is yet another line and this is the final one apart from this one

      Open the tiddler to see the custom CSS rules applied: Hard Linebreaks with CSS - Example

      Hard Linebreaks with CSS - Example

       26 enero 2017 a las 21:10

      The following text is rendered without any special WikiText syntax. So most of the WikiText functionality will be accessible.

      This is a line and this is a new line while this is yet another line and this is the final one apart from this one

      has Operator

       6 marzo 2023 a las 14:32
      purposefilter the input by field existence
      inputa selection of titles
      suffixS = New in: 5.1.14 optionally, the keyword field or New in: 5.1.22 optionally, the keyword index
      parameterF = the name of a field or, optionally an index
      outputwithout suffix
      » those input tiddlers in which field F has a non-empty value
      suffix field
      » those input tiddlers in which field F exists
      suffix index
      » those input data tiddlers in which index F exists
      ! outputwithout suffix
      » those input tiddlers in which field F does not exist or has an empty value
      suffix field
      » those input tiddlers in which field F does not exist
      suffix index
      » those input data tiddlers in which index F does not exist

      Learn more about how to use Filters

      has Operator (Examples)

       11 noviembre 2015 a las 15:02

      [has[color]]

      [tag[Concepts]!has[modified]]

      [has:field[emptyfield]]

      [all[current]!has:field[doesntexist]]

      [all[tiddlers+shadows]has:index[foreground]]

      [all[current]!has:index[doesntexist]]

      haschanged Operator

       8 febrero 2015 a las 19:18
      purposefilter the input by tiddler modification status
      inputa selection of titles
      parameternone
      outputthose input tiddlers that have been modified during this session
      ! outputthose input tiddlers that have not been modified during this session

      Learn more about how to use Filters

      A tiddler is deemed to have been modified if it has been written back to the wiki since the start of the current TiddlyWiki session. If you edit a tiddler and immediately store it again without making any changes, that is enough to mark it as modified.

      Examples

      Headings in WikiText

       13 mayo 2022 a las 12:08

      Headings are specified with one up to six leading ! characters:

      ! This is a level 1 heading
      
      !! This is a level 2 heading
      
      !!! This is a level 3 heading

      CSS classes can be assigned to individual headings like this:

      !!.myStyle This heading has the class `myStyle`

      Tiene este aspecto:

      This heading has the class myStyle

      ... y su código HTML es:

      <h2 class="myStyle">This heading has the class <code>myStyle</code></h2>

      Height of text editor

       17 agosto 2016 a las 11:54

      The button let you adjust the height of the text input field.

      ¡Hola! ¿Qué tal?

       5 junio 2016 a las 6:23

      ¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?

      BIenvenido a TiddlyWiki, un bloc de notas no lineal único para capturar, organizar y compartir información compleja.

      Úsalo para mantener tu lista de tareas, para desarrollar un ensayo o novela, o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades.

      TiddlyWiki Newsletter
      Introducción a TiddlyWiki
      Grok TiddlyWiki
      Qué hay de nuevo en 5.3.2-prerelease
      links.tiddlywiki.org
      Desarrolladores
      How is TiddlyWiki Funded?
      TiddlyWiki Marketplace
      Federatial
      TiddlyWiki Classic
      Amable introducción
      TiddlyWiki ayudando

      Al revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy.

      TiddlyWiki en Google Groups TiddlyWiki en YouTube @TiddlyWiki en Twitter TiddlyWiki en GitHub

      HelloThumbnail

       14 abril 2015 a las 8:09

      HolaMiniatura - Classic

       5 junio 2016 a las 7:35

      HolaMiniatura - Desarrolladores

       5 junio 2016 a las 7:30

      HelloThumbnail - Federatial

       

      Support the development of TiddlyWiki by hiring Jeremy Ruston through Federatial Limited

      HelloThumbnail - Funding

       

      Find out how you can help support TiddlyWiki financially

      HolaMiniatura - Amable introducción

       5 junio 2016 a las 7:25

      HelloThumbnail - Grok TiddlyWiki

       

      Everything you need to know to get the best out of TiddlyWiki

      HolaMiniatura - TiddlyWikiAyudando

       5 junio 2016 a las 7:29

      HolaMiniatura - Principios básicos

       5 junio 2016 a las 7:21

      HolaMiniatura - Ultima versión

       5 junio 2016 a las 7:35

      HelloThumbnail - Marketplace

       

      Explore commercial products and services for TiddlyWiki

      HelloThumbnail - Newsletter

       

      Subscribe to the TiddlyWiki Newsletter, a fortnightly summary of the most interesting and relevant news from the TiddlyWiki community

      HelloThumbnail - TiddlyWikiLinks

       

      Links to TiddlyWiki-related content collected by the community

      HelpCommand

       25 febrero 2014 a las 19:57

      Muestra ayuda para un comando:

      --help [<command>]

      Si se omite el comando, se muestra una lista de comandos disponibles

      HelpingTiddlyWiki

       10 octubre 2015 a las 14:12

      If you find TiddlyWiki useful, there are lots of ways you can help assure its future and make it better.

      Teach and Tell

      OpenSource projects like TiddlyWiki thrive on the feedback and engagement of users. TiddlyWiki becomes more useful to everyone as more and more people use it. So, if you find TiddlyWiki useful, spread the word. The best possible way to assure its future is for it to become a hundred times more popular than before.

      Help improve the documentation and code

      There are many ways you can contribute to TiddlyWiki:

      • Writing tutorials
      • Contributing to the documentation on tiddlywiki.com
      • Making video screencasts
      • Curating relevant links, hints and tips on a wiki

      The main TiddlyWiki documentation and code lives on GitHub, and welcomes contributions:

      Hidden Setting: Default Tiddler Icon

       6 marzo 2020 a las 14:50

      A default tiddler icon can be specified by creating a tiddler called $:/config/DefaultTiddlerIcon containing the title of the tiddler containing the icon.

      Hidden Setting: Disable Drag and Drop

       19 mayo 2021 a las 16:54

      New in: 5.1.22 To disable all the drag and drop operations that are built into the core, set the following tiddler to "no":

      $:/config/DragAndDrop/Enable

      To selectively re-enable drag and drop for an instance of the list-tagged-draggable Macro or list-links-draggable Macro you must ensure that the variable tv-enable-drag-and-drop is set to yes for the scope of the macro invocation. For example, note how it is still possible to use drag and drop within this list even if $:/config/DragAndDrop/Enable is set to "no":

      Note that when using the DropzoneWidget and the DroppableWidget directly the enable attribute works independently of the global setting.

      Hidden Setting: Disable Lazy Loading

       25 octubre 2019 a las 11:01

      LazyLoading can be disabled by setting this value to yes

      $:/config/SyncDisableLazyLoading

      Hidden Setting: Enable File Import in Editor

       19 mayo 2021 a las 17:00

      New in: 5.2.0

      $:/config/Editor/EnableImportFilter

      This filter determines whether dragging and dropping files in the editor works for a given tiddler or not. A non-empty result enables drag and drop in the editor for that tiddler. This filter is used in such a manner that it respects the global drag and drop setting.

      Hidden Setting: Filename for Save Wiki Button

       22 enero 2019 a las :00

      New in: 5.1.19 When saving a TiddlyWiki using the Guardar cambios button, the default file name used for saving is constructed using the Title of the TiddlyWiki as entered in the Control Panel, which is stored in the tiddler $:/SiteTitle.

      The value used is in the form {{$:/SiteTitle}}.html. This causes the filename to be constructed from the site Title with a .html extension.

      If a tiddler named $:/config/SaveWikiButton/Filename is created, the text in that tiddler will be used as the default file name used for saving the TiddlyWiki.

      Hidden Setting: HTML Parser Sandbox

       11 abril 2021 a las 11:01

      New in: 5.2.0 By default, tiddlers with the type text/html are displayed in an iframe with the sandbox attribute set to the empty string. This causes all security restrictions to be applied, disabling many features such as JavaScript, downloads and external file references. This is the safest setting.

      To globally disable the sandbox, set the tiddler $:/config/HtmlParser/DisableSandbox to yes. This will mean that the code in the iframe has full access to TiddlyWiki's internals, which means that a malicious HTML page could exfiltrate data from a private wiki.

      To keep the sandbox but control which restrictions are applied, ensure that $:/config/HtmlParser/DisableSandbox is not set to yes, and then set $:/config/HtmlParser/SandboxTokens to the desired list of tokens from the MDN documentation.

      Note that these are global settings. To control the sandboxing on an individual tiddler basis will require a custom <iframe> to be used.

      Hidden Setting: More Tabs Horizontal

       28 noviembre 2022 a las 9:29

      Set the $:/config/ui/SideBar/More/horizontal tiddler to yes, to align the More -> Tabs in horizontal orientation.

      Hidden Setting: Navigate on Enter

       8 noviembre 2020 a las 10:49

      The configuration Tiddler $:/config/Search/NavigateOnEnter/enable can be used to enable (if set to yes) Navigation to and Creation of missing Tiddlers in the various search input fields when hitting Enter respectively ctrl-Enter

      Hidden Setting: New-Image Type

       16 noviembre 2021 a las 22:25

      By default new images are created with the image-type jpeg

      The hidden setting in $:/config/NewImageType can be set to another Image-Type which is used for new Image Tiddlers, like png

      Hidden Setting: Retain Story ordering

       

      New in: 5.2.4 The tiddler $:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory contains the value that is assigned to $:/DefaultTiddlers when clicking the "retain story ordering" button in $:/ControlPanel under the Info -> Basics tab.

      Hidden Setting: Scroll Top Adjustment

       16 agosto 2018 a las 12:06

      As part of navigating to a tiddler, TiddlyWiki scrolls the page so that the top of the tiddler lines up with the top of the browser window. This means that the upper part of tiddlers can be obscured when using custom position:fixed toolbars at the top of the window.

      To adjust the scroll position to allow for the toolbar, add the CSS class tc-adjust-top-of-scroll to the toolbar. TiddlyWiki's scrolling mechanism will then dynamically adjust the scroll position by the height of that element.

      Ajuste oculto: AutoFocus de la barra de búsqueda

       26 abril 2016 a las 16:22

      Al abrir TiddlyWiki, el foco se sitúa por defecto en la barra de búsqueda. Si esto te ocasiona algún problema, puedes modificarlo cambiando el texto de true a false en el siguiente tiddler:

      $:/config/Search/AutoFocus

      Hidden Setting: Search Minimum Length

       11 octubre 2016 a las 8:42

      New in: 5.1.14 Controls the minimum length of a search string before results are displayed.

      Defaults to "3".

      $:/config/Search/MinLength

      Hidden Setting: Show Edit Preview per Tiddler

       29 octubre 2021 a las 10:03

      Controls whether the tiddler editing preview is controlled globally (the default) or on a per-tiddler basis.

      Set it to yes to enable per-tiddler mode.

      $:/config/ShowEditPreview/PerTiddler

      Hidden Setting: Sync Logging

       3 septiembre 2019 a las 20:23

      Specifies whether Syncadaptor should log information to the browser's developer console or not.

      Defaults to yes. Set to no to disable logging.

      Changing needs restart to take effect.

      $:/config/SyncLogging

      Hidden Setting: Sync Polling Interval

       3 septiembre 2019 a las 20:23

      Specifies the interval at which Syncadaptor synchronizes tiddlers between the server and the browser.

      Defaults to "60000" (60 * 1000 ms = 1 min).

      Changing needs restart to take effect.

      $:/config/SyncPollingInterval

      Hidden Setting: Sync System Tiddlers From Server

       9 septiembre 2022 a las 10:43

      New in: 5.1.23 Determines whether system tiddlers are synced from the server under Node.js. (Note that this is a one-way setting; system tiddlers are always synced to the server).

      • no – system tiddlers are not synced from the server (default)
      • yes – system tiddlers are synced from the server

      Engaging sync of system tiddlers means that tiddlers such as $:/StoryList and $:/HistoryList get synced, which can lead to unexpected outcomes when multiple users are connected to the same server at the same time (it means that the story sequence is synced between all the users).

      $:/config/SyncSystemTiddlersFromServer

      Hidden Setting: Tab Index for Edit-Inputs

       2 julio 2019 a las 8:48

      The input fields of Tiddlers that are being edited can be assigned a tabindex value (preferably 1) so that the Tab key can be used to directly move the focus from one input to the next or backwards using shift-Tab

      $:/config/EditTabIndex

      Hidden Setting: Tags Minimum Length

       3 diciembre 2017 a las 23:31

      New in: 5.1.16 Tag Dropdown: Controls the minimum length of an input string before results are displayed.

      Defaults to "0".

      $:/config/Tags/MinLength

      Hidden Setting: Template for Save Wiki Button

       15 diciembre 2018 a las 15:48

      Determines the template used when saving via the "save wiki" page control button.

      Defaults to $:/core/save/all.

      You can change this setting to choose what is saved when the "save wiki" button is clicked.

      $:/config/SaveWikiButton/Template

      Ajuste oculto: Retardo entre pulsaciones del teclado

       26 abril 2016 a las 16:39

      Para asegurar que al escribir no haya errores de interpretación de las pulsaciones del teclado, TiddlyWiki retarda el procesamiento de cambios en el borrador durante un breve período. El valor por defecto de 400 ms da un nivel óptimo de respuesta en la mayoría de casos, pero no siempre es el más conveniente en dispositivos móviles de baja potencia.

      Para modificar el tiempo de retardo, basta con cambiar el valor en milisegundos de este tiddler:

      $:/config/Drafts/TypingTimeout

      Hidden Setting: ViewTemplate and EditTemplate

       4 julio 2019 a las 6:35

      The configuration Tiddlers $:/config/ui/ViewTemplate and $:/config/ui/EditTemplate can be used to change the ViewTemplate respectively the EditTemplate used in the Story PageTemplate

      Ajustes ocultos

       26 abril 2016 a las 16:15

      Hidden Settings: Import Content Types for Editor

       19 mayo 2021 a las 17:02

      New in: 5.2.0

      $:/config/Editor/ImportContentTypesFilter

      This filter determines which contentTypes can be imported by dragging and dropping into the editor. It used by a DropzoneWidget wrapped around the editor, for the contentTypesFilter attribute.

      Highlight

       4 mayo 2016 a las 6:24

      Desarrollado para programadores, el plugin Highlight permite aplicar colores a la sintaxis del texto.

      See https://tiddlywiki.com/plugins/tiddlywiki/highlight/

      History of TiddlyWiki

       23 septiembre 2014 a las 15:19

      These are personal reflections on the history and development of TiddlyWiki from JeremyRuston.

      There is also a podcast from 2016 discussing TiddlyWiki's backstory as well as a recording from 2021.

      Origins of TiddlyWiki

      Back in 1997 a colleague introduced me to Ward Cunningham's original wiki. I was impressed that something so powerful could fit into just 700 lines of Perl, and fascinated by the radical reimagining of security and permissions. Like many other developers, I took every opportunity I could to try out various wikis, and to explore their use at work.

      The allure of the wiki for me was the feeling that it could eventually disrupt the prevailing paradigm of print-oriented documents and emails.

      After watching people use wikis for a few years, I noticed that power users made extensive use of the ability to open multiple wiki pages at once in several browser tabs, making it easier for them to compare and review pages, to copy text between them and to act as a sort of queue of pages yet to be read.

      I felt that this ability to manipulate multiple pages at once was central to the ability to refactor a wiki, and it is generally accepted that a wiki that is lovingly refactored tends to be more useful. And yet, standard wiki user interfaces have always been designed exclusively for the presentation and manipulation of single pages at once.

      All of these thoughts came together when I saw GMail in April 2004, which used Ajax cleverly to blend individual emails into threaded conversations.

      I started experimenting with HTML and JavaScript to explore the idea further. I'd had virtually no experience of either, just having put together some static pages and simple ASP sites in previous lives. Getting my head around these client-side technologies was painful; like everyone else, I was horrified to discover how appalling were the incompatibilities and inconsistencies of web programming.

      Launch of TiddlyWiki

      So, in September 2004 I released a primitive first version of TiddlyWiki. It was the smallest possible thing that demonstrated the idea: it was a simple, self-contained static 48KB HTML file.

      The downside of writing the first version of TiddlyWiki in this way was that it made it completely impractical to use for editing - when you click 'save changes' it just pops up a window showing the data that would be saved if it were possible for an HTML page to write to the file system.

      Much of the early feedback was that TiddlyWiki was neat, but that it would be more useful when it was possible to properly save changes. I was a little frustrated, as I thought I knew that it was impossible for an HTML file running in the browser to save changes to the local file system.

      Within a few months I saw an experimental Firefox extension that enabled TiddlyWiki to save changes in the browser. Examining the code, I realised that the APIs that it used to write to the file system were actually available in ordinary HTML files - as long as they were loaded via a file:// URI.

      I adapted the Firefox code into the core of TiddlyWiki, and soon added a similar ability for Internet Explorer (making use of an old ActiveX control that Microsoft distributed with Internet Explorer).

      Growth of TiddlyWiki

      A major milestone in the growth of TiddlyWiki was the creation of "GTDTiddlyWiki" by Nathan Bowers. He took the vanilla TiddlyWiki product and adapted it for the specific application of keeping track of tasks using the popular Getting Things Done methodology. GTDTiddlyWiki was an immediate hit, being enthusiastically greeted on websites like LifeHacker.

      Over the next couple of years TiddlyWiki continued to grow in popularity, and gained new features and capabilities. Within a year I was able to support myself by performing bespoke development work on TiddlyWiki, notably working with wiki pioneer SocialText on the ability to synchronise changes with an online server

      BT Acquisition

      In May 2007, BT acquired Osmosoft, my consultancy company. It was an unusual decision to acquire a company with a single employee and a tiny trickle of revenue - Osmosoft didn't even own the intellectual property in TiddlyWiki since I had handed it over to UnaMesa to assure its future for the community.

      BT's motivation was to help them understand community-based ecosystems. I joined the organisation as "Head of Open Source Innovation", taking responsibility for open source governance, and providing advice and expertise on how to participate in open soure communities.

      Osmosoft and TiddlySpace

      I built a team in BT under the name Osmosoft. Our purpose was to evangelise the benefits of open source, and to help other teams realise those benefits in practice. We also found that it was necessary to evangelise the use of the web in general, and web standards in particular.

      Our approach was to focus on showing rather than telling. We worked with the TiddlyWiki community to extend the ecosystem and we built numerous internal systems for BT (some based on TiddlyWiki and some not).

      Osmosoft's chief contribution to the TiddlyWiki community was the creation of TiddlyWeb and TiddlySpace. TiddlyWeb was a robust, internet scale server for tiddlers that could also compose TiddlyWiki views of those tiddlers. TiddlySpace was an attempt to package TiddlyWeb into a more directly usable form.

      Leaving BT

      By the end of 2011 I was increasingly feeling that I would be better placed to realise the potential of TiddlyWiki outside of the corporate confines BT. Accordingly, I left and started work as an independent developer, primarily working on a brand new reboot of TiddlyWiki in the shape of TiddlyWiki5.

      Development of TiddlyWiki5

      I worked on new release of TiddlyWiki from November 2011. As a programmer, working on "version 2.0" of something that I had already written is a very attractive proposition. It means that the requirements were fully understood, allowing me to focus on evolving the architecture needed to support the desired functionality.

      The Future

      Now that TiddlyWiki5 has finally left "beta" status behind, my hope is that it will have a long life. Because it only uses standard features of HTML5 and Node.js, there is no reason why it cannot be fully operational for many years to come. My goal is for it to last for at least 25 years.

      Jeremy Ruston, 20th September 2014

      HistoryMechanism

       7 febrero 2015 a las 13:10

      The system tiddler $:/HistoryList keeps track of a list of tiddlers comprising the navigation history. Each time you click on a link to a tiddler, the title of the target tiddler is added to the top of the stack.

      The history list is stored in JSON to allow additional details about the coordinates of the DOM node that initiated the navigation.

      The history list also maintains the field current-tiddler that contains the name of the tiddler at the top of the stack. This field can be used like so:

      <$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
      
      <$button message="tm-close-tiddler" class="tc-btn-invisible tc-btn-mini">&times;</$button> <$link><$view field="title"/> <$reveal type="match" state="$:/HistoryList!!current-tiddler" text=<<currentTiddler>>>&#x2713;</$reveal></$link>
      
      </$list>

      Which renders the same as the "Open" sidebar tab, with the addition of a tick against the tiddler that was last navigated to.

      HelloThere

      GettingStarted

      Community

      Empty Story

      To display content when the story is empty, create $:/config/EmptyStoryMessage and enter the desired contents. The following would show the GettingStarted tiddler when all others are closed.

      {{GettingStarted||$:/core/ui/ViewTemplate}}

      Horizontal Rules in WikiText

       13 mayo 2022 a las 12:12

      You can include a horizontal rule with three or more dashes on their own on a line:

      ---

      Tiene este aspecto:


      ... y su código HTML es:

      <hr>

      Cómo añadir un banner para pedir contribuciones en GitHub

       19 abril 2016 a las 14:50

      Cuando editas un tiddler en https://tiddlywiki.com, aparece una pequeña banda de color rosa que te invita a editar la fuente del tiddler en GitHub.

      Si usas Node.js, puedes reproducir este mismo efecto para tu propio TiddlyWiki, de la siguiente manera:

      1. Asegúrate de incluir el siguiente ajuste en el archivo tiddlywiki.info de tu directorio:
        	"config": {
        		"retain-original-tiddler-path": true
        	}
      2. Copia el tiddler $:/ContributionBanner a tu wiki
      3. Haz los siguientes cambios:
        1. Modifica la URL del enlace en GitHub para que apunte a tu propio directorio
        2. Modifica la frase "¿Puedes ayudarnos a mejorar la documentación?" del modo que mejor convenza a los lectores para que contribuyan contigo.
        3. Ajusta convenientemente el enlace Mejorar la documentación de TiddlyWiki para que apunte en la dirección del tiddler que contiene las instrucciones.

      Cómo añadir pestañas a la barra lateral

       19 abril 2016 a las 15:44

      Para crear una nueva pestaña en la barra lateral:

      1. Crea un tiddler nuevo y ponle la etiqueta de sistema $:/tags/SideBar
      2. Por defecto se usa el título del tiddler como título de la pestaña, pero puedes puentearlo con el campo caption
      3. Para definir en qué orden tiene que aparecer la pestaña, puedes usar los campos list-before y list-after, tal como se indica en Etiquetas
        • P. ej.: establece el valor de list-after como $:/core/ui/SideBar/Open para colocar tu pestaña inmediatamente después de la solapa Abiertos

      Nota: de igual manera, puedes crear nuevas pestañas dentro de la pestaña Más, con la etiqueta $:/tags/MoreSideBar.

      How to apply custom styles

       11 abril 2018 a las 18:40

      Cómo aplicar estilos CSS mediante etiquetas

       19 abril 2016 a las 16:29

      Se pueden aplicar estilos personalizados a tiddlers con una pestaña particular definiendo una clase CSS con el nombre tc-tagged-<etiqueta>.

      Por ejemplo: Para que una serie de tiddlers con la etiqueta VistaNocturna se muestren con un esquema de colores apropiado para leer con poca luz, tendremos que crear una hoja de estilos que defina la clase tc-tagged-VistaNocturna, del modo siguiente:

      .tc-tagged-VistaNocturna {
      	background-color:black;
      	color: orange;
      	padding: 35px 35px;
      }
      
      .tc-tagged-VistaNocturna .tc-tiddler-body {
      	font-size: 1.5em;
      }

      La clase tc-tagged-VistaNocturna se aplica a todo el tiddler y no sólo al texto. Si queremos referirnos sólo a una parte del tiddler, se puede habilitar el selector CSS, como hemos hecho aquí con .tc-tagged-NightReader .tc-tiddler-body.

      Nótese que las etiquetas que contengan espacios o caracterres no alfanuméricos, para que CSS los interprete, tendrán que convertirse según la codificación URI, lo que hace que la clase CSS resultante sea difícil de predecir y más proclive a errores.

      Por ejemplo:

      EtiquetaNombre de clase generado
      $:/mytagtc-tagged-%24%3A%2Fmytag
      Doctor Whotc-tagged-Doctor%20Who
      £35.23tc-tagged-%C2%A335.23

      Aunque TiddlyWiki generará las etiquetas, para usarlas en la hoja de estilos se tendrá que usar la correspondiente equivalencia en código porciento:

      .tc-tagged-Doctor\%20Who {
          background-image: url(./tardis_back.svg);
          background-repeat: no-repeat;
          background-position: right;
          color:#FBFBFB;
      }

      Hay disponible una función en JavaScript para realizar la conversión:

      $tw.utils.tagToCssSelector("$:/tags/Stylesheet")

      ...que genera la siguiente respuesta:

      tc-tagged-\%24\%3A\%2Ftags\%2FStylesheet

      How to build a TiddlyWiki5 from individual tiddlers

       12 septiembre 2014 a las 15:16

      First install TiddlyWiki as described in Installing TiddlyWiki on Node.js.

      1. Create an empty TiddlyWikiFolder
        1. Create a new folder in a convenient place (for example ~/MyWiki)
        2. Create a file called tiddlywiki.info containing the following text:
          • {"themes": ["tiddlywiki/vanilla","tiddlywiki/snowwhite"]}
        3. Create a subfolder called tiddlers
          • Alternatively, just copy the editions/empty folder from the TiddlyWiki5 repo
      2. Create individual TiddlerFiles in the ~/MyWiki/tiddlers directory
      3. Execute the following command from the TiddlyWiki5 root directory to build a TiddlyWiki5 file from the tiddlers:
        1. tiddlywiki ~/MyWiki --rendertiddler $:/core/save/all index.html text/plain

      How to change the sort order of sub-branches in a TOC macro

       20 febrero 2019 a las :00

      Imagine that you are using a Table of Contents macro similar to this:

      <<toc-selective-expandable  "TableOfContents" "sort[title]">>

      The sorting is fine for most cases, but you would like all your items tagged Journal to be sorted by the created field. How can you apply a separate sort order to just those sub-items tagged Journal?

      The trick is to add a field to the parent tagging tiddler (i.e. Journal) that points to a different sort criteria. Let's call the field fuzzy, and populate it with the value created (created is the name of the field that contains a tiddler's creation date).

      Now change your Table of Contents to look like this:

      <<toc-selective-expandable  "TableOfContents" "sort{!!fuzzy}">>

      Now your Table of Contents will sort by title everywhere, except for the children of the Journal tiddler, which will sort by the created date.

      The downside to this trick is that you can't apply a reverse sort based on just one special field. If you reverse the sort order, it will be reversed everywhere.

      How to create a custom story tiddler template

       6 diciembre 2021 a las 16:51

      Here we show how to add a rule to the Story Tiddler Template Cascade that causes tiddlers tagged to be displayed with a custom appearance incorporating thumbnails of the tiddlers named in the list field.

      Open Demo Tiddler List with Custom Story Tiddler Template to see the demo.

      First, we add a new step to the story tiddler template cascade. The new filter step is:

      [tag[$:/tags/TiddlerList]then[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template]]

      It can be read as:

      If the tiddler has the tag $:/tags/TiddlerList then return $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template
      The template $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template also depends on styles defined in $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles.

      The story tiddler template cascade is defined by the tag , so we need to create a configuration tiddler with that tag.

      We also need to make sure that it is inserted at the correct point in the cascade:

      • The new rule must be after the "draft" rule to ensure that draft tiddlers with the tag $:/tags/TiddlerList can be edited
      • The new rule must be before the "default" rule otherwise it will never be executed

      The control panel "Cascades" tab shows that this can be achieved by inserting the new step immediately before the default step using the list-before field.

      The full list of fields in the configuration tiddler is:

      $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Filter

      code-bodyyes
      list-before$:/config/StoryTiddlerTemplateFilters/default
      tags$:/tags/StoryTiddlerTemplateFilter
      text[tag[$:/tags/TiddlerList]then[$:/_tw5.com/CustomStoryTiddlerTemplateDemo/Template]]

      Finally, we need to create the demo tiddler itself:

      Demo Tiddler List with Custom Story Tiddler Template

      created20211204122107920
      filterHelloThere Community GettingStarted Features Reference Plugins Learning
      modified20211204131610322
      tags$:/tags/TiddlerList
      textThis is a demo tiddler with a custom story tiddler template that displays the tiddlers named in the list field as a fan. See [[How to create a custom story tiddler template]] for details.
      typetext/vnd.tiddlywiki

      How to create a custom tiddler colour rule

       6 diciembre 2021 a las 16:51

      Here we show how to add a rule to the Tiddler Colour Cascade that causes tiddlers with the tag to be given a bright blue colour and tiddlers with the tag to be given a dark purple colour.

      How to create a custom tiddler icon rule describes how the same tiddlers have been given a custom icon

      First, we add a new step to the tiddler colour cascade. The new filter step is:

      [tag[TableOfContents]then[#1e90ff]]
      [tag[Working with TiddlyWiki]then[darkorchid]]

      It can be read as:

      If the tiddler has the tag "TableOfContents" then return the colour #1e90ff
      Else if the tiddler has the tag "Working with TiddlyWiki" then return the colour darkorchid

      The tiddler colour cascade is defined by the tag , so we need to create a configuration tiddler with that tag.

      We also need to make sure that it is inserted at the correct point in the cascade:

      • The new rule must be after the "colour-field" rule to ensure that tiddlers with an explicit color field will respect the value of that field
      • The new rule must be before the "default" icon otherwise it will never be seen if the default colour is specified

      The control panel "Cascades" tab shows that this can be achieved by inserting the new step immediately before the default step using the list-before field.

      The full list of fields in the configuration tiddler is:

      $:/_tw5.com/CustomTiddlerColourCascadeDemo

      created20211206114433294
      list-before$:/config/TiddlerColourFilters/default
      modified20211206114433294
      tags$:/tags/TiddlerColourFilter
      text[tag[TableOfContents]then[#1e90ff]] [tag[Working with TiddlyWiki]then[darkorchid]]
      typetext/vnd.tiddlywiki

      How to create a custom tiddler icon rule

       6 diciembre 2021 a las 16:51

      Here we show how to add a rule to the Tiddler Icon Cascade that causes tiddlers with the tag to be given the "globe" icon and tiddlers with the tag to be given the "help" icon .

      How to create a custom tiddler colour rule describes how the same tiddlers have been given a custom colour

      First, we add a new step to the tiddler icon cascade. The new filter step is:

      [tag[TableOfContents]then[$:/core/images/globe]]
      [tag[Working with TiddlyWiki]then[$:/core/images/help]] 

      It can be read as:

      If the tiddler has the tag "TableOfContents" then return $:/core/images/globe
      Else if the tiddler has the tag "Working with TiddlyWiki" then return $:/core/images/help

      The tiddler icon cascade is defined by the tag , so we need to create a configuration tiddler with that tag.

      We also need to make sure that it is inserted at the correct point in the cascade:

      • The new rule must be after the "icon-field" rule to ensure that tiddlers with an explicit icon field will respect the value of that field
      • The new rule must be before the "default" icon otherwise it will never be seen if the default icon is specified

      The control panel "Cascades" tab shows that this can be achieved by inserting the new step immediately before the default step using the list-before field.

      The full list of fields in the configuration tiddler is:

      $:/_tw5.com/CustomTiddlerIconCascadeDemo

      created20211205195110592
      list-before$:/config/TiddlerIconFilters/default
      modified20211205195217941
      tags$:/tags/TiddlerIconFilter
      text[tag[TableOfContents]then[$:/core/images/globe]] [tag[Working with TiddlyWiki]then[$:/core/images/help]]
      typetext/vnd.tiddlywiki

      How to create dynamic editor toolbar buttons

       18 octubre 2021 a las 11:23

      Create a New Toolbar Button

      The easiest way to create new editor toolbar button is to clone and open one.

      This tiddler contains all the necessary elements that are important for toolbar buttons.

      text
      We don't discuss the text field details in this howto
      caption
      The caption field is used to display the shortcut name in the $:/ControlPanel : Keyboard Shortcuts tab
      condition
      A filter, that defines the button visibility state
      condition-disabled New in: 5.1.23
      A filter, that allows us to define the "disabled" attribute for buttons. eg: [[$:/temp/bold/disabled]get[state-disabled]else[no]]
      This condition must return "no", if the "state tiddler" or "state field" doesn't exist! So there has to be a else[no] element in the filter.
      description
      Is used as the button tooltip
      icon
      Assigns the button icon. We use $:/core/images/spiral here. More button icons can be found in the Icon Gallery
      shortcuts
      This is the Keyboard Shortcut Descriptor eg: ((temp-bold))

      Disabled State

      You can use any "state tiddler" to define the button disabled state. It's important, that the condition-disabled field is a filter. For our example we use the state-disabled field from tiddler: $:/temp/bold/disabled

      The easiest way to test filters is with the $:/AdvancedSearch : Filter tab

      The temporary "bold button" is disabled: "no" ... You can see the button in the editor toolbar if you edit any tiddler!

      Create Keyboard Shortcuts for New Button

      For our HowTo we use the Keyboard Shortcut Descriptor: ((temp-bold))

      To create a valid shortcut configuration we need 2 tiddlers:

      $:/config/ShortcutInfo/temp-bold .. and
      $:/config/shortcuts/temp-bold

      Clean up the Configuration Tiddlers

      If you don't need the config tiddlers anymore you can

      How to create keyboard shortcuts

       


      TiddlyWiki distinguishes two types of keyboard shortcuts. Those that are limited to work within input fields or textareas which are handled by the $keyboard widget and keyboard shortcuts that work globally - which means that only the page needs to have focus in order for them to be accessible. The latter are handled by a mechanism that starts to work when a wiki is loaded

      The configuration mechanism is the same for both shortcut-types

      A tiddler with the prefix $:/config/ShortcutInfo/ and a unique suffix appended, like my-shortcut, makes the new shortcut appear in the $:/ControlPanel within the Keyboard Shortcuts Tab. An optional description can be added within its text field

      In the Keyboard Shortcuts Tab the key combination that should trigger the shortcut can be configured:

      Look for the unique suffix defined for the new shortcut and click the button to open a popup that detects key combinations and shows the detected combination in its input field
      The add shortcut assigns the key-combination to the shortcut

      Depending on the chosen platform the configuration mechanism creates a tiddler with a specific nomenclature

      $:/config/shortcuts/ + the shortcut suffix for shortcuts that will work on all platforms (operating systems)
      $:/config/shortcuts-(mac/not-mac/windows/not-windows/linux/not-linux)/ + the shortcut suffix for shortcuts that will work on the chosen platform only or that will not work on the excluded platform

      Examples

      • $:/config/shortcuts/my-shortcut
      • $:/config/shortcuts-mac/my-shortcut
      • $:/config/shortcuts-windows/my-shortcut
      • $:/config/shortcuts-linux/my-shortcut
      • $:/config/shortcuts-not-mac/my-shortcut
      • $:/config/shortcuts-not-windows/my-shortcut
      • $:/config/shortcuts-not-linux/my-shortcut

      Note that those platform-specific tiddlers don't have to be created manually if the ShortcutInfo tiddler as mentioned above is created first and the shortcut is configured in the ControlPanel


      At this point the shortcut is defined and its actions can be configured

      Using the Keyboard Widget

      A $keyboard widget detects the key combinations pressed within an input or textarea field within its scope. The $keyboard widget needs to "embrace" the input or textarea field and its key attribute either points to a configuration tiddler using the Key Descriptor Syntax or explicitely contains the key
      <$keyboard key="((my-shortcut))" actions='<$action-setfield $tiddler="my-tiddler" $field="my-field" $value="my-value"/>'>
      
      <$edit-text tag="input" tiddler="my-tiddler"/>
      
      </$keyboard>
      <$keyboard key="alt-shift-M" actions='<$action-setfield $tiddler="my-tiddler" $field="my-field" $value="my-value"/>'>
      
      <$edit-text tag="input" tiddler="my-tiddler"/>
      
      </$keyboard>
      If actions are defined , the $keyboard widget will invoke the actions defined in its actions attribute when it detects the key-combination defined in its key attribute being pressed in any input or textarea field within its scope

      Using global Keyboard Shortcuts

      See Keyboard Shortcut Tiddler for detailed information about creating new global keyboard shortcuts.
      The actions for global keyboard shortcuts are stored in the text field of tiddlers tagged with
      The key field connects an action-tiddler with the corresponding shortcut through the ((my-shortcut)) syntax, called Keyboard Shortcut Descriptor

      Syntax: (( + a chosen suffix + ))

      If the tiddler has the tag , the field key with the Keyboard Shortcut Descriptor as its value and some actions in its text field, the actions will be triggered when the mechanism detects the configured key-combination


      Macros defined outside a global keyboard-shortcut (through a tiddler tagged $:/tags/Global) need to be imported in order to be accessible. The import pragma can be used for that

      \import [subfilter{$:/core/config/GlobalImportFilter}]
      

      If the tiddler that contains the macro definition is known and - for example - titled my-macro-tiddler

      \import my-macro-tiddler
      


      Some actions require to be wrapped within a $navigator widget. That is necessary for the following list of widgets and messages in order to work if used within global keyboard shortcuts

      Widgets

      $action-navigate (ActionNavigateWidget)

      Messages

      WidgetMessage: tm-cancel-tiddler
      WidgetMessage: tm-close-all-tiddlers
      WidgetMessage: tm-close-other-tiddlers
      WidgetMessage: tm-close-tiddler
      WidgetMessage: tm-delete-tiddler
      WidgetMessage: tm-edit-tiddler
      WidgetMessage: tm-import-tiddlers
      WidgetMessage: tm-new-tiddler
      WidgetMessage: tm-perform-import
      WidgetMessage: tm-relink-tiddler
      WidgetMessage: tm-rename-tiddler
      WidgetMessage: tm-save-tiddler

      How to Customize TiddlyDesktop

       18 noviembre 2017 a las 19:45

      Prelude/caution:

      Before experimenting with TiddlyDesktop internals you should find the location of the “user configuration folder” - click the “Settings” button on the main TiddlyDesktop window, and then click the button “Open user config folder”. Then move up to locate the parent folder, which should be called “TiddlyDesktop”. If things go wrong, you can reset TiddlyDesktop to its factory state by deleting this entire folder.

      Click the Backstage button on the main TiddlyDesktop window to open the backstage wiki. This is a Node.js-like instance of TiddlyWiki that runs the UI and logic of TiddlyDesktop.

      How do I get rid of the "Add a TiddlyWiki Folder" button.

      Within the backstage wiki, locate the tiddler WikiListToolbar (there’s a link in HelloThere). Click it into edit mode and you’ll see the wikitext for all the toolbar buttons. If you make modifications and click “done” then the changes will immediately be reflected in the main TiddlyDesktop window.

      How would I change the "advanced" button to the "reveal backups" button.

      You can copy the code for the “reveal backups” button from the tiddler $:/TiddlyDesktop/Settings and paste it into WikiListToolbar.

      How do I change the colors?

      Just as usual in TiddlyWiki: you can use the palette, or define your own custom CSS.

      How do I change the order in which the tiddlers are listed (which appears to be alphabetical)?

      Open the WikiList tiddler, edit it, and scroll to the end. Then change the <$list> widget inside the wikilist macro:

      <$list filter="[tag[wikilist]sort[title]!has[draft.of]]" emptyMessage="Add a ~TiddlyWiki file or folder to get started. Click the buttons above to browse, or drag and drop from your file Explorer/Finder" storyview="pop">

      How to embed PDF and other documents

       29 diciembre 2016 a las 17:57

      Note about embedding versus external linking

      Note: Before we dive into how you can embed files of a certain type, you may want to consider not embedding and instead simply linking to external resources like this:

      [ext[title|path/to/that.file]] 

      Then let your browser decide how to handle the resource. The advantage to this approach is that it is simple and quick. The disadvantage is that the file doesn't actually travel with the TW5 file and that you can't use node.js with method #2 below to quickly file paths.

      Two ways to embed a PDF in your TW5 file.

      1. Embedding with Drag and Drop

      One is to drag and drop the file onto your TW5 file. Wait for the green bar to appear at the top, drop, and then import from the import tiddler. This actually embeds the contents of your imported PDF (or other file) into your TW5 file.

      This method be OK as long as your PDF is not too big. There can be concerns if your TW5 file becomes too big.

      2. Embedding with '_canonical_uri'

      The other way is to create a tiddler link to the external file. In this method the file is not actually incorporated into your TW5 file, but can be accessed with the {{My Image File.jpg}} transclusion syntax just like an embedded file. The location address of the file can also be changed under node.js. See ExternalImages for details of using external images with node.js.

      Create a tiddler with a field _canonical_uri. Put in the local address to the external file. Set the type field to application/pdf.

      With either way, with an appropriately configured browser, you should see your embedded PDF file.

      Other File Types

      There's only so many file formats that TW5 knows about. There is a list at ContentType. If your browser and/or TW5 doesn't know what to do with a particular file format, then you can only the use the second method to embed and then download a file. When you edit the tiddler a link is presented. You can right click on the link in order to download the file.

      Cómo exportar tiddlers

       19 abril 2016 a las 17:18

      Exportar todos los tiddlers

      Para exportar todos los tiddlers del wiki, haz clic en la pestaña Herramientas de la barra lateral y a continuación selecciona el botón Exportar todos. Un menú desplegable te dará la opción de exportar los tiddlers en varios formatos.

      Exportar un solo tiddler

      Si quieres exportar un tiddler en particular, abre primero dicho tiddler y haz clic en el botón Más de la barra. De la lista desplegable que aparece, selecciona la opción Exportar tiddler. Un menú desplegable te mostrará las diferentes opciones de exportación disponibles.

      Exportar tiddlers coincidentes con un criterio de búsqueda (filtros)

      Para exportar una selección de tiddlers, haz clic en la lupa junto al área de Búsqueda avanzada de la barra lateral para abrir el tiddler de Búsqueda avanzada. Haz clic en la pestaña Filtro, que es la que te permite exportar una selección de tiddlers y escribe el criterio de búsqueda conforme a la sintaxis empleada por los filtros.

      Una vez escrita la expresión de filtrado, aparecerá la lista de tiddlers coincidentes con el criterio de búsqueda. Entonces puedes hacer clic en el botón , a la derecha del campo de búsqueda. Un menú desplegable te ofrecerá las opciones de exportación disponibles.

      Formatos de exportación

      Actualmente, los formatos de exportación disponibles son:

      • CSV
      • JSON
      • HTML estático
      • archivo .tid

      La exportación en formato .tid difiere de las demás, ya que por ahora sólo es capaz de exportar un único tiddler –el primero de la lista–. Para exportar en este formato la selección entera, habrá que abrirlos todos y exportar manualmente tiddler por tiddler.

      How to hide the author's and other fields with CSS

       10 marzo 2018 a las 20:12

      Sometimes you might want to save some screen space by hiding away the author's name in all tiddlers. Here's a quick way to do it:

      • Create a new tiddler with any title you want.
      • Give the tiddler the tag $:/tags/Stylesheet
      • In the text field of the tiddler put:
      .tc-subtitle .tc-tiddlylink {display:none;}
      • Save the tiddler. The author's name field should no longer appear.

      Similarly, the entire subtitle field including author and date can be removed with:

      .tc-subtitle {display:none;}

      Unfortunately, you can't hide just the date without also hiding the author using CSS.

      And finally, for a truly minimalist look, you can remove the title with:

      h2.tc-title {display:none;)

      Cómo mostrar en un banner la fecha de última modificación del wiki

       21 abril 2016 a las 10:36

      Así es como se muestra la fecha de última modificación del wiki en un banner, en una esquina de la ventana:

      1. Instala el plugin Corner ribbon en TiddlyWiki.
      2. Guarda y recarga el wiki
      3. Crea un tiddler llamado $:/_MyRibbon, con la etiqueta $:/tags/PageControls y el siguiente contenido:
      <div class="github-fork-ribbon-wrapper right">
      <div class="github-fork-ribbon" style="background-color:#DF4848;">
      <$list filter="[!is[system]!has[draft.of]!sort[modified]limit[1]]">
      <$link>
      <$view field="modified" format="date" template="DD mmm YYYY at 0hh:0mm"/>
      </$link>
      </$list>
      </div>
      </div>
      1. Puedes cambiar el valor de background-color según tus preferencias
      2. También puedes cambiar la posición de right a right-bottom
        1. Para poner el banner a la izquierda, la etiqueta de MyRibbon debe ser $:/tags/PageTemplate en lugar de $:/tags/PageControls y la posición left

      How to remove stop words

       18 noviembre 2020 a las 10:34

      You can use the search-replace Operator in combination with the sortsub Operator to ignore stop words like "A" and "The" at the beginning of titles when sorting. (Note for example that "A Tale of Two Cities" sorts under "T" rather than "A")

      [enlist<book-list>sortsub<compare-without-stopwords>]

      You can also customise the listing so that "A Tale of Two Cities" is listed as "Tale of Two Cities, A" but still links to the correct tiddler.

      <ul>
      <$list filter="[enlist<book-list>sortsub<compare-without-stopwords>]">
      <li><$link><$text text={{{[<currentTiddler>search-replace:i:regexp[(^The |A )(.*)],[$2, $1]]}}}/></$link></li>
      </$list>
      </ul>

      Este es su aspecto:

      How to turn off camel case linking

       4 febrero 2017 a las 19:13

      CamelCase is used in most Wikis, but it can interfere with text presentation in some situations.

      Turning off Camel Case locally

      To turn off a particular instance of a CamelCase text, simply put a tilde (~) in front of the word, like this:

      ~CamelCase

      Turning off Camel Case globally

      To turn off CamelCase in all tiddlers, navigate to the Control Panel. Select the Settings tab and then scroll or read down to the Camel Case Wiki Links section and unselect Enable automatic CamelCase linking.

      How to update TiddlyWiki to the latest version

       26 abril 2022 a las 23:12

      Se publican con regularidad nuevas versiones de TiddlyWiki que incorporan correcciones de "bugs" y mejoras. Es buena idea mantenerse al día actualizándolo a la última versión.

      El procedimiento que aquí se describe es para actualizar un Tiddlywiki autónomo como archivo único en html. Para actualizar TiddlyWiki en Node.js, el procedimiento es otro.

      Al actualizar, recuerda la primera regla de uso de TiddlyWiki y que tú eres el responsable de velar por tus datos. Asegúrate de hacer copias de seguridad con regularidad y, muy especialmente, antes de actualizar el núcleo de TiddlyWiki

      Actualización online

      Este procedimiento funcionará en la mayoría de navegadores. Ni uno solo de tus datos personales saldrá de tu ordenador durante todo el proceso.

      1. Localiza el archivo HTML de TiddlyWiki en tu disco duro
      2. Abre el navegador y ve a https://tiddlywiki.com/upgrade.html. Ahí encontrarás el "Upgrader": asistente de actualización de TiddlyWiki. Tiene una gran flecha en el centro y, debajo de ella, el número de versión al que corresponde
      3. Arrastra el archivo HTML de TiddlyWiki a la ventana del navegador donde tienes el Upgrader y suéltalo sobre la flecha
        • Si tu archivo está cifrado, se te pedirá la contraseña
      4. Se te mostrará una tabla de tiddlers
        • Son absolutamente todos los tiddlers que forman parte de tu versión de TiddlyWiki
        • En la columna Select, verás marcados los tiddlers que formarán parte de la nueva versión.

      Guarda los cambios de la nueva versión #* Los tiddlers que NO se actualizarán aparecen desmarcados y una nota en la columna status te dice el motivo. Si todo te parece bien...

      1. ...haz clic en el botón Upgrade, que tienes arriba del todo
      2. Haz clic en el botón verde Save upgraded TiddlyWiki file

      El navegador te pedirá que descargues un archivo llamado "upgrade.thml". Este archivo es la versión actualizada de tu archivo. Localízalo en tu disco duro, cambia el nombre por el de tu wiki y sustituye en su localización el viejo archivo por el nuevo.

      Actualización offline

      Puedes descargar el Upgrader a tu disco duro y realizar el proceso anterior de arrastra-y-suelta para actualizar tu archivo localmente, sin necesidad de conexión de red.

      Problemas conocidos durante la actualización

      Firefox Security Restrictions

      Se han dado casos del siguiente error al intentar actualizar en Firefox:

      Error while saving:

      Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

      • La actualización falla o se interrumpe por restricciones de seguridad de Firefox.
      • Comprueba si la versión de Firefox instalada en tu ordenador es la última disponible. En caso negativo, actualiza el navegador y vuelve a intentarlo.
      • Si el error persiste, sugerimos usar otro navegador o actualizar TiddlyWiki offline

      Customizaciones incompatibles

      Es posible –y se han dado casos de ello– que customizaciones de versiones anteriores de ~Tiddlywiki dejen de funcionar después actualizar el núcleo a la última versión.

      Hay dos maneras maneras en que puedes diagnosticar y solucionar los problemas que se presenten:

      • Repite la actualización deseleccionando manualmente los tiddlers de tu versión que aplican customizaciones a TiddlyWiki
      • Desactiva las customizaciones abriendo TiddlyWiki en Modo seguro

      Puedes ver una lista de tiddlers ocultos modificados en la pestaña Filtro de la Búsqueda avanzada. En el desplegable, selecciona 'Tiddlers ocultos anulados'

      How to widen tiddlers (aka storyriver)

       8 diciembre 2016 a las :00

      You can change the width of the main column of tiddlers (also known as the story river) by:

      • Clicking on the settings cog to open the control panel
      • In the control panel select "Appearance" and then "Theme Tweaks".
      • Under Theme tweaks, scroll down.

      There you will see settings for story right, story width, and tiddler width. By setting these numbers to something larger, you can widen the tiddlers. In general, story right and story width should be the same size, and tiddler width a little bit smaller. You could even use percentages for tiddler width. You will also probably want to change the sidebar breakpoint to something larger than the story river, unless you don't mind the sidebar floating to the top of the page.

      HTML Block Elements

       18 agosto 2022 a las 10:21

      HTML (Hypertext Markup Language) elements historically were categorized as either "block-level" elements or "inline-level" elements. Since this is a presentational characteristic it is nowadays specified by CSS in the Flow Layout. A Block-level element occupies the entire horizontal space of its parent element (container), and vertical space equal to the height of its contents, thereby creating a "block".

      https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements

      HTML Entities

       25 octubre 2022 a las 13:46

      Summary

      Use HTML entities to enter characters that cannot easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;), e.g. &amp; for the & character.

      Markup

      The value of Tiddlers&trade; cannot even be expressed in &pound;, &euro; or &dollar;.

      Displays as:

      The value of Tiddlers™ cannot even be expressed in £, € or $.

      Entity References

      Comprehensive lists of html entities can be found at...

      Examples Of Common And Useful Entities

      HTML Entities
      &nbsp; no-break space  &apos;'single quote, apostrophe
      &ndash;en dash&quot;"quotation mark
      &mdash;em dash&prime;prime; minutes; feet
      &hellip; horizontal ellipsis&Prime;double prime; seconds; inches
      &copy;©Copyright symbol&lsquo;left single quote
      &reg;®Registered symbol&rsquo;right single quote
      &trade;Trademark symbol&ldquo;left double quote
      &dagger;dagger&rdquo;right double quote
      &Dagger;double dagger&laquo;«left angle quote
      &para;paragraph sign&raquo;»right angle quote
      &sect;§section sign&times;×multiplication symbol
      &uarr;up arrow&darr;down arrow
      &larr;left arrow&rarr;right arrow
      &lArr;double left arrow&rArr;double right arrow
      &harr;left right arrow&hArr;double left right arrow

      Accented Characters

      The table below shows how accented characters can be built up by substituting the underscore (_) in the second table into the corresponding character. eg:

      CodeCharacterExampleResult
      &Auml;Ä&Auml;pfelÄpfel
      Accented Characters
      grave accent&_grave;ÀàÈèÌìÒòÙù      
      acute accent&_acute;ÁáÉéÍíÓóÚú  Ýý  
      circumflex accent&_circ;ÂâÊêÎîÔôÛû      
      umlaut mark&_uml;ÄäËëÏïÖöÜü  Ÿÿ  
      tilde&_tilde;Ãã    Õõ  Ññ    
      ring&_ring;Åå              
      slash&_slash;      Øø        
      cedilla&_cedil;              Çç

      HTML in WikiText

       15 junio 2023 a las 7:01

      HTML tags and comments

      HTML tags and comments can be used directly in WikiText. For example:

      <article class="hello">
      This is my nice and simple block of text. HelloThere
      <!-- This comment will not appear in the wikified output -->
      </article>

      Pragma Comments

      New in: 5.2.0 Comments can now be freely intermixed with pragmas as well as within the main body of a block of wikitext.

      <!-- NEW: Comment that describes the macro -->
      \define test()
      some text <!-- inline comment -->
      \end
      
      <<test>>

      Important

      Security

      Note that any HTML attributes prefixed with on are removed from the rendered HTML content. This is done to prevent event handlers (such as "onclick") being used as a clandestine way to execute untrusted JavaScript. A design goal of TiddlyWiki is to ensure that executable JavaScript can only enter the system through explicit JavaScript module tiddlers or raw markup tiddlers. This makes it possible to filter unsafe content in multiuser environments, and also makes it safer to copy untrusted wikitext examples.

      Widgets

      Widgets share the same syntax as HTML tags
      and so the following information applies to them, too.

      Block mode versus Inline mode

      To get the content of an HTML element to be parsed in block mode, the opening tag must be followed by two linebreaks.

      Without the two linebreaks, the tag content will be parsed in inline mode which means that block mode formatting such as wikitext tables, lists and headings is not recognised.

      See also WikiText parser mode: HTML examples and WikiText parser mode transitions.

      Self closing elements

      The following tags are treated as 'void'. This means that <tag> is treated as if it were <tag/>, and that no terminating </tag> is needed (if one is provided it will be ignored and treated as plain text).

      • <area>, <base>, <br>, <col>, <command>, <embed>, <hr>, <img>, <input>, <keygen>, <link>, <meta>, <param>, <source>, <track>, <wbr>

      If you do not close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.

      Attributes

      In an extension of conventional HTML syntax, attributes of elements and widgets can be specified in several different ways:

      Style Attributes

      New in: 5.2.2 TiddlyWiki supports the usual HTML style attribute for assigning CSS styles to elements:

      <div style="color:red;">Hello</div>

      In an extension to HTML, TiddlyWiki also supports accessing individual CSS styles as independent attributes. For example:

      <div style.color="red">Hello</div>

      The advantage of this syntax is that it simplifies assigning computed values to CSS styles. For example:

      <div style.color={{!!color}}>Hello</div>

      HTML Links in WikiText

       21 octubre 2016 a las 11:20

      It is often useful to be able to create HTML links to external resources. For example, here the value of the href attribute will be set to the value of the tiddler MyLinkDestination:

      <a href={{MyLinkDestination}}>link</a>

      However, there is an unexpected security issue that means that most of the time the link should have the rel attribute set to noopener noreferrer to maintain privacy of the URLs of private TiddlyWiki's (eg on Dropbox). See https://mathiasbynens.github.io/rel-noopener/ for more information.

      <a href={{MyLinkDestination}} rel="noopener noreferrer">link</a>

      HyperText Markup Language

       28 febrero 2015 a las 13:39

      HTML is a standard plain-text format used for defining the content of a web page.

      It consists of a tree of elements expressed using a system of special tags enclosed in angle brackets.

      Almost the whole of HTML can be used unchanged in the WikiText of a tiddler.

      Icon Gallery

       18 octubre 2021 a las 11:23

      Click an icon to copy the title to the clipboard

      image-picker Macro

       18 abril 2016 a las 16:58

      The image-picker macro displays an interactive image picker, as can be seen in the core text editor.

      Parameters

      actions
      Wikitext for the action widgets that should be executed when the user selects an image. Within the text, the variable imageTitle contains the title of the tiddler containing the selected image.
      subfilter
      An optional extra filter step, e.g. tag[MyTag]

      The images are selected by means of a filter expression, into which the subfilter parameter is spliced as follows:

      [all[shadows+tiddlers]is[image]$subfilter$!has[draft.of]] -[type[application/pdf]] +[sort[title]]

      Examples

      image-picker Macro (Example 1)

       16 noviembre 2021 a las 3:50

      Image:


      image-picker Macro (Example 2)

       16 noviembre 2021 a las 3:51

      Image:


      image-picker Macro (Examples)

       18 abril 2016 a las 16:56

      Image: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>
      
      <$transclude tiddler={{$:/_MyImage}}/>
      
      ---
      
      <$macrocall $name='image-picker' actions="
      
      <$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>
      
      "/>

      This next example shows how the subfilter parameter limits the list of images (here to those with the "Language" prefix):

      Image: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>
      
      <$transclude tiddler={{$:/_MyImage}}/>
      
      ---
      
      <$macrocall $name='image-picker' actions="
      
      <$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>
      
      " subfilter="prefix[Language]"/>
      

      Ejemplo de galería de imágenes / hoja de contactos

       18 abril 2016 a las 5:47

      Este es un ejemplo de uso de ListWidget y TranscludeWidget para mostrar una cuadrilla de las imágenes del sistema (es decir, de tiddlers con la etiqueta $:/tags/Image).

      Uso y manipulación de imágenes en WikiText

       27 abril 2016 a las 6:47

      Inserción y formato de imágenes

      Se puede insertar y dar formato a imágenes con WikiText. La sintaxis para ello es la siguiente:

      [img atributo [descripción|origen]]

      Ejemplos:

      AcciónSintaxisCódigo de ejemploResultado
      Insertar imagen
      (origen interno)
      [img[Título del tiddler con la imagen]][img[Motovun Jack.jpg]]
      Insertar imagen
      (origen externo)
      [img[URL de la imagen]][img[https://tiddlywiki.com/favicon.ico]]
      Insertar imagen
      con descripción emergente
      [img[descripción|origen]][img[Descripción emergente|Motovun Jack.jpg ]]

      (Pasa el ratón por encima de la imagen para ver la descripción emergente)
      Insertar imagen
      con atributos
      [img atributo[descripción|origen]][img width=100 [Motovun Jack.jpg]]

      Los atributos pueden definirse directamente como el valor de clases CSS como ancho y altura o por transclusión o referencia de variables.

      La sintaxis de imágenes en TiddlyWiki se compone de métodos abreviados para invocar ImageWidget.

      Inserción de imágenes mediante transclusión de tiddlers

      También puede mostrarse la imagen contenida en un tiddler por transclusión de este, escribiendo el título del tiddler entre llaves. Esto simplifica muchas veces la inclusión, pero tiene la desventaja de no poder controlar directamente el tamaño de la imagen.

      {{Motovun Jack.jpg}} se muestra como:

      Uso de imágenes externas

      Por imágenes externas nos referimos en tiddlywiki a tiddlers que, en lugar de incrustarla, apuntan a la URI de una imagen. Se trabaja más rápido que con imágenes incrustadas, especialmente si el wiki contiene gran número de imágenes o imágenes muy grandes. Sin embargo, supone abandonar la política inicial de "único archivo" de TiddlyWiki.

      Las imágenes esternas se usan en el navegador. Puede crearlas la configuración de Node.js al construir TiddlyWiki o pueden crearse manualmente en el navegador.

      En qué consisten

      Una imagen externa es un tiddler de imagen que contiene el campo _canonical_uri cuyo valor es la URI de la imagen en cuestión. La URI puede ser absoluta o relativa al documento HTML. El campo text de un tiddler se ignora o se omite cuando se proporciona URI canónica de una imagen externa.

      Creación manual de imágenes externas

      Para crear manualmente una imagen externa, simplemente crea un tiddler con el tipo apropiado de contenido y añade el campo _canonical_uri indicando la ruta actual a la imagen.

      Comprueba bien que escribes correctamente la ruta y que escribes URI, no URL

      Creación de imágenes externas en Node.js

      Para crear un archivo HTML estático de TiddlyWiki acompañado por una carpeta de imágenes externas referenciadas en el HTML

      1. Crea tiddlers de imagen en los WikiFolders, de la manera habitual
      2. Guarda las imágenes como archivos separados (por convención, en una subcarpeta llamada images)
      3. Externaliza los tiddlers correspondientes a cada imagen habilitando el campo _canonical_uri
      4. Guarda el archivo HTML principal
      Las imágenes deben añadirse a la subcarpeta antes de externalizar los tiddlers. El campo _canonical_uri invalida el campo text del tiddler, lo que lleva consigo que cualquier ulterior intento de guardado fallará.
      Como ejemplo, véase el target externalimages de la demo "tw5.com":
      --savetiddlers [is[image]] images
      --setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
      --setfield [is[image]] text "" text/plain
      --rendertiddler $:/core/save/all externalimages.html text/plain

      Guardar archivos separados de imagen

      Para guardar las imágenes de un wiki en una subcarpeta images puede usarse el comando --savetiddlers de la siguiente manera:

      --savetiddlers [is[image]] images

      Externalizar tiddlers de imagen

      Se usan dos comandos --setfield: el primero establece el campo con valor derivado del título del tiddler. El segundo limpia el campo text.

      --setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
      --setfield [is[image]] text "" text/plain

      La plantilla $:/core/templates/canonical-uri-external-image contiene:

      <!--
      
      This template is used to assign the ''_canonical_uri'' field to external images.
      
      Change the `./images/` part to a different base URI. The URI can be relative or absolute.
      
      -->
      ./images/<$view field="title" format="doubleurlencoded"/>

      Estas operaciones modifican los tiddlers en el WikiStore y pueden afectar al funcionamiento de posteriores comandos.

      Uso de imágenes externas

      No es posible editar una imagen externa directamente en el navegador, salvo para editar la URI de forma que apunte a otra imagen.

      ImageWidget

       21 julio 2022 a las 11:23

      Introduction

      The image widget displays images that can be specified as a remote URL or the title of a local tiddler containing the image.

      Content and Attributes

      Any content of the <$image> widget is ignored.

      AttributeDescription
      sourceThe URL of the image, or the title of an image tiddler
      widthThe width of the image
      heightThe height of the image
      tooltipThe tooltip to be displayed over the image
      altThe alternative text to be associated with the image
      classCSS classes to be assigned to the <img> element
      loading New in: 5.2.3Optional. Set to lazy to enable lazy loading of images loaded from an external URI

      The width and the height can be specified as pixel values (eg "23" or "23px") or percentages (eg "23%"). They are both optional; if not provided the browser will use CSS rules to size the image.

      Image Status Classes

      The following CSS classes are automatically added to the <img> element to indicate the status of the image. Note that only one of these classes will be added at the same time.

      tc-image-loadingWhen the image is being loaded
      tc-image-loadedThe image has been loaded successfully
      tc-image-errorThe image could not be loaded

      External Images and the _canonical_uri field

      When used to display tiddler-based images, the image widget operates in two distinct modes:

      • If the _canonical_uri field is present then it is used as the src attribute of the generated <img> element and the text field is ignored
      • Without the _canonical_uri field, the image widget generates an <img> element that embeds the image data directly using a data: URI.

      See ExternalImages for more details.

      ImportCommand

       12 julio 2017 a las 16:38

      Importa tiddlers desde TiddlyWiki (.html), .tiddler, .tid, .json u otros archivos locales. El deserializador debe especificarse explícitamente, a diferencia del comando load que infiere el deserializador a partir de la extensión del archivo.

      --import <filepath> <deserializer> [<title>] [<encoding>]

      Los deserializadores incluidos por defecto son:

      • application/javascript
      • application/json
      • application/x-tiddler
      • application/x-tiddler-html-div
      • application/x-tiddlers
      • text/html
      • text/plain

      El título del tiddler importado tiene como valor predeterminado el nombre del archivo.

      La codificación predeterminada es "utf8", pero puede ser "base64" para importar archivos binarios.

      Ten en cuenta que TiddlyWiki no importará una versión anterior de un complemento ya cargado.

      Importing Tiddlers

       28 marzo 2017 a las 17:02

      You can import tiddlers into a TiddlyWiki from external files or directly from another TiddlyWiki.

      Importing content from external files

      There are several ways to import content (including text, images, pdf documents, etc.) from external files:

      • Use the import button (under the Tools tab in the sidebar) to select a local file
      • Drag and drop files from Windows Explorer or OS X Finder etc. into the TiddlyWiki browser window
      • Paste content directly from the clipboard using the menu or keyboard shortcut (ctrl-V or cmd-V)
        • Currently supported in Chrome, Firefox and Edge (but not Internet Explorer)

      Most files are imported as individual tiddlers. The exceptions are:

      • .html files that are recognised as a TiddlyWiki file are parsed to extract the tiddlers within them
      • .json files are parsed to extract the tiddlers within them. They can be created by exporting them from another TiddlyWiki. TiddlyWiki accepts JSON files that contain either a single tiddler fields object, or an array of tiddler fields objects

      Importing content from other TiddlyWiki browser windows

      Tiddlers can be imported from other TiddlyWiki browser windows via Drag and Drop. Drag a TiddlyWiki internal link or a tag from one TiddlyWiki browser window to another. Dragging an internal link will import a single tiddler while dragging a tag pill will import all of the tiddlers that carry that tag.

      Importar tiddlers

       29 abril 2016 a las 5:38

      En TiddlyWiki puedes importar contenido de varias maneras:

      • Usa el botón Importar, en la pestaña Herramientas de la barra lateral para seleccionar un archivo local
      • Arrastra archivos desde cualquier ventana de tu escritorio a la del navegador
      • Copia contenido directamente del portapapeles mediante la opción del menú, o pulsando Ctrl+V/Cmmd+V
        • Por el momento, únicamente Chrome/Chromium permite esta acción

      ImportVariablesWidget

       28 septiembre 2018 a las 16:00

      Introduction

      The ImportVariablesWidget imports macro and variable definitions from a list of other tiddlers and makes them available to its children. For example:

      <$importvariables filter="[tag[mySpecialMacros]]">
      All the macros defined in tiddlers with the tag "mySpecialMacros" are available here
      </$importvariables>

      Attributes and Content

      The content of the importvariables widget is the scope within which the imported variable definitions are available.

      AttributeDescription
      filterTiddler filter defining the tiddlers from which macro definitions will be imported

      Global Macros

      So-called global macros are implemented within the main page template ($:/core/ui/PageTemplate) by wrapping the page content in the following importvariables widget:

      <$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]">
      ...
      </$importvariables>

      \import Pragma

      New in: 5.1.18 The Pragma: \import is an alternative syntax for using the ImportVariablesWidget. For example, the previous example could be expressed as:

      \import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]

      Mejorar la documentación de TiddlyWiki

       19 abril 2016 a las 15:16

      Cualquiera puede proponer mejoras en la documentación de TiddlyWiki que aparece en https://tiddlywiki.com.

      1. Lee y sigue la Guía de estilo para documentación
      2. Date de alta en https://github.com
      3. Si no lo has hecho aún, firma el acuerdo de licencia de contribución
      4. En https://tiddlywiki.com, haz clic en el botón Editar del tiddler que quieres mejorar
      5. Aparecerá un banner de color rosa con el texto Can you help us improve this documentation? Find out how to edit this tiddler on GitHub
        1. Haz clic en el enlace externo this tiddler on GitHub
        2. Se te indicará que necesitas hacer un fork del repositorio para poder proponer cambios. Un fork es una copia del repositorio que incluirá los cambios que propongas.
      6. Se abrirá una nueva ventana en el navegador, con el tiddler listo para editar en github.com
      7. Bajo la ventana de edición del tiddler, verás un cuadro titulado "Propose file change"
      8. Escribe un breve título que explique la naturaleza del cambio, p. ej.: "Sustitución de formato directo por estilos"
      9. Si es necesario, puedes desarrollarlo convenientemente más abajo
      10. Haz clic en el botón verde "Propose file change"
      11. En la página siguiente, pulsa el botón verde "Create pull request"

      Jermolene u otro de los desarrolladores principales tendrán así la oportunidad de incorporar tus cambios en la próxima edición de https://tiddlywiki.com.

      Mario Pietsch ha creado estos videotutoriales al respecto:

      IndexedDB Plugin by Andreas Abeck

       6 enero 2021 a las 15:10

      A plugin that allows changes to be synchronised with the IndexedDB database that is built-in to most browsers.

      http://tw5-dev.cibm.de

      Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).

      indexes Operator

       29 diciembre 2022 a las 9:42
      purposeselect all data properties of the input titles
      inputa selection of titles
      parameternone
      outputall the property names or indices contained in the input data tiddlers

      Learn more about how to use Filters

      Each input title is processed in turn, and is ignored if it does not denote a data tiddler. The sorted list of property names is retrieved from the data tiddler and then dominantly appended to the operator's output.

      Note that behind the scenes, the name/value pairs in a dictionary tiddler are represented as a JSON object. JSON objects do not maintain a guaranteed ordering and so we cannot reliably retain the ordering of the data in the file.

      Where the content of a tiddler is in JSON format with an array as its root, the indexes operator retrieves a selection of integer indices instead.

      Examples

      indexes Operator (Examples)

       19 enero 2015 a las 19:10

      [{$:/palette}indexes[]sort[title]]
      → all the colours defined in the current colour palette

      [[$:/HistoryList]indexes[]]
      → integer output because the history list is an array

      InfoMechanism

       24 noviembre 2020 a las 18:58

      System tiddlers in the namespace $:/info/ are used to expose information about the system (including the current browser) so that WikiText applications can adapt themselves to available features.

      Information Tiddlers

      TitleDescription
      $:/info/startup-timestamp New in: 5.1.23 Startup timestamp in TiddlyWiki date format
      $:/info/browserRunning in the browser? ("yes" or "no")
      $:/info/mobile New in: 5.2.3 Is running on a mobile device? ("yes" or "no" - eg, )
      $:/info/browser/language New in: 5.1.20 Language as reported by browser (note that some browsers report two character codes such as en while others report full codes such as en-GB)
      $:/info/browser/screen/widthScreen width in pixels
      $:/info/browser/screen/heightScreen height in pixels
      $:/info/nodeRunning under Node.js? ("yes" or "no")
      $:/info/url/full New in: 5.1.14 Full URL of wiki (eg, )
      $:/info/url/host New in: 5.1.14 Host portion of URL of wiki (eg, )
      $:/info/url/hostname New in: 5.1.14 Hostname portion of URL of wiki (eg, )
      $:/info/url/origin New in: 5.1.14 Origin portion of URL of wiki (eg, )
      $:/info/url/pathname New in: 5.1.14 Pathname portion of URL of wiki (eg, )
      $:/info/url/port New in: 5.1.14 Port portion of URL of wiki (eg, )
      $:/info/url/protocol New in: 5.1.14 Protocol portion of URL of wiki (eg, )
      $:/info/url/search New in: 5.1.14 Search portion of URL of wiki (eg, )
      $:/info/darkmode New in: 5.1.23 Is dark mode enabled? ("yes" or "no")

      Panel de información de tiddler

       29 abril 2016 a las 5:38

      Cada tiddler contiene un panel oculto con información adicional. Para mostrarlo, haz clic en el botón Más en la barra del título y selecciona el botón Información en la lista desplegable.

      El InfoPanel contiene las siguientes pestañas:

      • Herramientas ofrece botones para realizar diferentes acciones. Puedes seleccionar el botón que quieras añadir a la barra del tiddler marcando la casilla que tiene al lado. Esto afectará a todos los tiddlers en el wiki.
      • Referencias, Etiquetado, Lista y En lista de dan un listado de diferentes tipos de tiddlers relacionados con el actual. Ver uso de links para navegar entre tiddlers
      • Campos da una lista de los campos contenidos en el tiddler, excepto text
      • Avanzado indica si el tiddler es de tipo oculto. Si lo es, dice también de qué plugin forma parte y si está o no anulado por un tiddler común.
      • Sources indica el origen, en el sitio de TiddlyWiki, de aquellos tiddlers que forman parte de la documentación oficial, donde se lo encuentra como página HTML estática. En tal caso, para facilitar contribuciones que mejoren la documentación, se muestra también la ruta del archivo original en GitHub.

      Para cerrar el panel, basta con hacer clic fuera de él.

      Información para traductores

       11 mayo 2016 a las 16:21

      Para contribuir con esta traducción de la documentación de tiddlywiki.com, lo suyo, cuando esté lista, es ver en la página del proyecto, qué tiddlers necesitan traducción, actualización o corrección. Evite los tiddlers etiquetados como "en proceso", porque como la etiqueta indica, ya hay gente trabajando en ellos. A continuación:

      • Si trabaja en Node.js con un clon de Git de la edición es_ES, puede traducir a partir de su clon, respetando únicamente el par de indicaciones que se dan más abajo y proponer un pull request en GitHub, ayudándose, si hiciera falta, de la documentación.
      • Si no, traduzca directamente, bien en línea, bien en una copia de la página http://tw5es-es.tiddlyspot.com.
      • Cuando termine:
        • exporte su trabajo a un fichero JSON
        • envíe el archivo a paulus-arroba-alamier-punto-com para que pueda efectuar el correspondiente pull request en GitHub, o bien
        • cuelgue el archivo en algún lugar accesible (en Dropbox, por ejemplo) y publique el enlace en el grupo de TiddlyWiki

      No tenemos aún mecanismos demasiados sofisticados para gestionar el trabajo de traducción en paralelo (las plataformas que lo permiten cuestan un dineral), por lo que se ruega que actualice y comparta su trabajo con frecuencia. Es preferible enviar un tiddler por vez –que no es molestia alguna, en serio– que darse cuenta demasiado tarde de que se está trabajando en paralelo –lo que sí puede ser un lío a veces–.

      Al trabajar en la traducción, tenga en cuenta lo siguiente:

      • Los títulos de los tiddlers no se traducen: Para que el sistema funcione correctamente, no deben modificarse los títulos en inglés de los tiddlers.
        • La traducción del título se hace en el campo es-title, usando, cuando sea necesario, el formato WikiText para los enlaces.
        • Traduzca también el campo caption, tanto para tener una versión reducida del título (ej: Enlaces en Wikitext => Enlaces) para incluirla en enlaces, como para su visualización en pestañas.
      • Sírvase del glosario: con la intención de disponer de una base terminológica común que dé coherencia a la traducción y que sirva para posteriores trabajos, estamos trabajando en un glosario, para el que se ruega colaboración, comentario y crítica.
      • Tiene a su disposición algunas abreviaturas que facilitan la escritura de algunos caracteres, como las comillas tipográficas (), o palabras que se repiten con frecuencia como o que son complicadas de componer, como .

      InitCommand

       17 junio 2014 a las 22:25

      Inicializa una WikiFolder con una copia en blanco de la edición especificada.

      --init <edition> [<edition> ...]

      Por ejemplo:

      tiddlywiki ./MyWikiFolder --init empty

      Nota:

      • Se creará un directorio para el wiki si es necesario
      • La edición por defecto es empty
      • El comando --init fallará si el directorio no está vacío
      • El comando --init elimina toda definición de includeWikis contenida en el archivo tiddlywiki.info
      • Cuando se indican varias ediciones para su inicialización, las ediciones sobrescriben sucesivamente todos los archivos compartidos, de modo que el archivo tiddlywiki.info final será el que corresponda a la última edición que se indique.
      • --editions muestra una lista de ediciones disponibles

      See also:

      Inline Mode WikiText

       17 septiembre 2022 a las 8:49

      Some WikiText is recognised only while the parser is in inline mode.

      These WikiText types can be expressed without an entire line of text. They aren't required to be all on one line, just that they can be expressed within a single line. And as such, more than one can appear within a single line. In other words, line endings are not involved while the parser tries to find where the particular WikiText begins and ends While the parser is in inline mode, it will recognise the punctuation for these WikiText types:

      Macro Calls and Transclusion in WikiText will be recognised in block mode if the macro call or transclusion spans an entire line.

      The other inline mode WikiText types are technically only detected while the parser is in inline mode. However, the opening punctuation will also trigger the start of Paragraphs in WikiText which will automatically cause the parser to go into inline mode. Therefore, practically speaking, it is just as useful to consider these WikiText types as recognised while the parser is in either inline mode or block mode

      While processing the enclosed text of some of these WikiText types, the parser will not look for new WikiText. But for rest of these WikiText types, the parser will continue in inline mode for the enclosed text. While parsing that text, it might encounter something which moves it to block mode.

      Innerwiki Plugin

       27 enero 2019 a las 10:41

      The Innerwiki Plugin enables TiddlyWiki to embed a modified copy of itself (an "innerwiki"). The primary motivation is to be able to produce screenshot illustrations that are automatically up-to-date with the appearance of TiddlyWiki as it changes over time, or to produce the same screenshot in different languages.

      In the browser, innerwikis are displayed as an embedded iframe. Under Node.js Google's Puppeteer is used to load the innerwikis as off-screen web pages and then snapshot them as a PNG image.

      See the demo at https://tiddlywiki.com/plugins/tiddlywiki/innerwiki

      Insert link

       17 agosto 2016 a las 11:57

      This will give you a dialog to search for and pick existing tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText link where the cursor is in the text field.

      Pressing will give you [[Some link]]

      It wil not insert: external web links or picture links.

      Insert picture

       17 agosto 2016 a las 12:02

      This will give you a dialog to search for and pick existing image tiddlers in the wiki. When you pick a tiddler it will be inserted as a WikiText image link where the cursor is in the text field.

      Pressing will give you [img[$:/favicon.ico]]

      insertafter Operator

       23 febrero 2022 a las :44
      purposeinsert an item T into a list immediately after an item A
      inputa selection of titles
      suffix(optional) the name of a variable containing the title of the tiddler after which this one should be inserted
      parameterthe insertafter operator accepts 1 or 2 parameters, see below for details
      outputthe input tiddler list with the new entry inserted

      Learn more about how to use Filters

      New in: 5.2.3

      The insertafter operator requires at least one parameter which specifies the title to insert into the input list. A second parameter can be used to specify the title after which the new title should be inserted.

      A suffix can also be used to specify A, the title after which the new title should be inserted, but this form is deprecated. Instead, the two-parameter form is recommended. If the two-parameter form is used, the suffixes start and end can be used to specify where the item should be inserted if A is not found.

      insertafter:<after-title-variable>[<title>]
      insertafter:<missing-location>[<title>],[<after-title>]
      • title : a title T to insert in the input list.
      • after-title : (optional). Insert T after this title A in the input list.
      • after-title-variable : (optional). The name of a variable specifying A instead of the after-title parameter.
      • missing-location : (optional). Either start or end: where to insert T if A is not found in the list.

      If the item A isn't present in the input list then the new item is inserted at the end of the list. New in: 5.2.3 The suffixes start and end can be spedified to control where the new item is inserted when A is not found. The suffix end is the default, inserting the new item at the end of the list. The suffix start will cause the new item to be inserted at the start of the list when A is not found.

      Either parameter can be a string, a text reference or a variable

      If A is specified as both a suffix and a parameter, the parameter takes precedence

      Examples

      insertafter Operator (Examples)

       23 febrero 2022 a las :44

      These examples use the following predefined variables:

      • after-title: Friday
      • missing-title: Yesterday

      [list[Days of the Week]insertafter[Today]]

      [list[Days of the Week]insertafter[Today],[Tuesday]]

      [list[Days of the Week]insertafter[Today],<after-title>]

      [list[Days of the Week]insertafter:after-title[Today]]

      [list[Days of the Week]insertafter[Today],<missing-title>]

      [list[Days of the Week]insertafter:missing-title[Today]]

      insertbefore Operator

       23 febrero 2022 a las :44
      purposeinsert an item T into a list immediately before an item B
      inputa selection of titles
      suffix New in: 5.2.3 (optional) the name of a variable containing the title of the tiddler before which this one should be inserted
      parameter New in: 5.2.2 the insertbefore operator accepts 1 or 2 parameters, see below for details
      outputthe input tiddler list with the new entry inserted

      Learn more about how to use Filters

      New in: 5.2.2

      The insertbefore operator requires at least one parameter which specifies the title to insert into the input list. A second parameter can be used to specify the title before which the new title should be inserted.

      New in: 5.2.3

      Using the suffix to specify B, the title before which the new title should be inserted, is deprecated. Instead, the two-parameter form is recommended. If the two-parameter form is used, the suffixes start and end can be used to specify where the item should be inserted if B is not found.

      insertbefore:<before-title-variable>[<title>]
      insertbefore:<missing-location>[<title>],[<before-title>]
      • title : a title T to insert in the input list.
      • before-title : (optional). Insert T before this title B in the input list.
      • before-title-variable : (optional). The name of a variable specifying B instead of the before-title parameter.
      • missing-location : (optional). Either start or end: where to insert T if B is not found in the list.

      If the item B isn't present in the input list then the new item is inserted at the end of the list. New in: 5.2.3 The suffixes start and end can be spedified to control where the new item is inserted when B is not found. The suffix end is the default, inserting the new item at the end of the list. The suffix start will cause the new item to be inserted at the start of the list when B is not found.

      Either parameter can be a string, a text reference or a variable

      If B is specified as both a suffix and a parameter, the parameter takes precedence

      Examples

      insertbefore Operator (Examples)

       23 febrero 2022 a las :44

      These examples use the following predefined variables:

      • before-title: Friday
      • missing-title: Yesterday

      [list[Days of the Week]insertbefore[Today]]

      [list[Days of the Week]insertbefore[Today],[Tuesday]]

      [list[Days of the Week]insertbefore[Today],<before-title>]

      [list[Days of the Week]insertbefore:before-title[Today]]

      [list[Days of the Week]insertbefore[Today],<missing-title>]

      [list[Days of the Week]insertbefore:missing-title[Today]]

      Cómo instalar plugins desde la librería oficial

       23 noviembre 2018 a las 22:04

      Configuración de escritorio

      Seguir instrucciones cuando se utiliza TiddlyWiki en versión archivo HTML:

      1. Sólo por si acaso, haz copia de seguridad de tu archivo HTML de TiddlyWiki
      2. Abre TiddlyWiki en el navegador
      3. Abre el panel de control , clic en la pestaña Plugins y luego en botón Obten complementos y extensiones
      4. Pincha en el botón Abrir biblioteca de complementos y extensiones para abrir la librería oficial
      5. Cuando se haya cargado la librería:
        1. Selecciona la pestaña adecuada al tipo complemento que buscas Plugins, Temas o Idiomas
        2. Desplázate o usa el cuadro para encontrar lo que buscas
      6. Pincha el botón instalar
      7. Guarda los cambios con el botón
      8. Recarga la página
      9. El plugin está instalado y listo para su uso

      Configuración cliente-servidor

      Seguir instrucciones cuando se utiliza TiddlyWiki en versión servidor Node.js:

      1. Identificar el plugin que desea instalar usando la pestaña Plugins en el panel de control ('sin embargo no instalar el plugin desde aquí). Los plugins se identifican por su tipo (Plugins, Temas o Idiomas), editor y título. Por ejemplo, el plugin $:/plugins/tiddlywiki/internals es identificado como tiddlywiki/internals
      2. Detener el servidor si está en ejecución.
      3. Editar el archivo tiddlywiki.info (está en formato JSON) y ubicar la sección plugins, themes or languages (ver abajo)
      4. Agreagar las entradas correspondientes a los plugins que desea instalar. (Tener cuidado de separar los ítems con coma, pero al último ítem no colocarle)
      5. Reiniciar el servidor
      {
      	"plugins": [
      		"tiddlywiki/codemirror"
      	],
      	"themes": [
      		"tiddlywiki/vanilla",
      		"tiddlywiki/snowwhite"
      	],
      	"languages": [
      		"es-ES",
      		"fr-FR",
      		"en-EN"
      	]
      }

      Installing custom plugins on Node.js

       17 junio 2022 a las 14:01

      Introduction

      There are several ways in which official plugins and custom plugins can be installed when using TiddlyWiki with a Node.js client-server configuration.

      Note
      For instructions on installing plugins from libraries to single-file wikis learn more at Plugins.

      Plugin Load Order

      Using the Node.js client-server configuration plugins are activated in the following order:

      1. Plugins found using the OS environment variables
      2. Plugins stored in the wiki /plugins path
      3. Plugins specified in the command line
      4. Plugins imported by drag and drop as wiki content

      Important:

      • Elements lower in the list take precedence
      • Including a plugin as an ordinary tiddler by drag and drop into the browser, will result in the plugin only being active in the browser
        • It will not be available under Node.js

      Option 1:

      • Using a Node.js configuration option 1 is the most common one
      • It lowers maintenence, because all plugins can be updated in one go

      Option 2:

      • Option 2 is preferred if you want to work with a fixed configuration
      • Plugin updates only effect the corresponding wiki

      Option 3:

      • This option allows to add and start an edition without the need to overwrite an existing tiddlywiki.info file
      • It allows you to start any edition as a client-server edition, even if the tiddlywiki.info file didn't specify it.

      Option 4:

      • Is the exact same mechanism used for a single-file wiki
      • This mechanism should only be used in a Node.js configuration for testing and debugging purposes, since the plugins are stored in the tiddlers/ directory

      Installing official plugins on Node.js

       17 junio 2022 a las 14:23

      Follow these instructions when using TiddlyWiki with a client-server Node.js configuration:

      1. Identify the plugins you want to install using the Plugins tab of (don't install the plugins from here, though)
        • Plugins are identified by their type (ie language, theme or plugin) and their publisher and title. For example, the plugin $:/plugins/tiddlywiki/internals is referred to as tiddlywiki/internals
      2. Quit the server if it is running
      3. Edit the tiddlywiki.info file (it is in JSON format) and locate the plugins, themes or languages section (see below)
      4. Add entries corresponding to the plugins you wish to add
        • Take care to retain commas to separate items
        • Do not terminate the last item in a list with a comma
      5. Restart the server
      {
      	"plugins": [
      		"tiddlywiki/codemirror"
      	],
      	"themes": [
      		"tiddlywiki/vanilla",
      		"tiddlywiki/snowwhite"
      	],
          "languages": [
              "es-ES",
              "fr-FR",
              "en-EN"
          ]
      }
      Note
      An overview of working with plugins can be found at Plugins.
      Also see: Installing custom plugins on Node.js.

      Installing TiddlyWiki on Microsoft Internet Information Server

       7 mayo 2020 a las 11:58

      Microsoft's Internet Information Server (IIS) is the built-in web server for Windows. It can be useful to host TiddlyWiki within IIS in order to take advantage of IIS features like URL rewriting, static file hosting and automatic restarts after a crash.

      1. Enable IIS

      1. In Windows, access the Control Panel and click Add or Remove Programs
      2. In the Add or Remove Programs window, click Add/Remove Windows Components.
      3. Select the Internet Information Services (IIS) check box
      4. Click Next, then click Finish

      2. Install the required tools

      1. Install the IIS module HttpPlatformHandler from https://www.iis.net/downloads/microsoft/httpplatformhandler
      2. Install Node.js from https://nodejs.org/
      3. Install Git from https://git-scm.com/
        • optional; only required when using the latest TiddlyWiki release pulled directly from GitHub – see below

      3. Install TiddlyWiki and setup a new wiki

      1. Create a convenient directory for the wiki (e.g. C:\MyStuff)
      2. Within it, create a file called C:\MyStuff\package.json with the content:
        {
            "name": "MyStuff",
            "description": "A description of this wiki",
            "dependencies": {
                "sax": "1.2.4",
                "tiddlywiki": "*"
            }
        }
      3. Also create a file called C:\MyStuff\web.config with the content:
        <?xml version="1.0" encoding="UTF-8"?>
        <configuration>
            <system.webServer>
                <handlers>
                    <add 
                        name="httpplatformhandler"
                        path="*"
                        verb="*"
                        modules="httpPlatformHandler"
                        resourceType="Unspecified"
                        requireAccess="Script" />
                </handlers>
                <httpPlatform 
                   stdoutLogEnabled="true"
                   stdoutLogFile=".\node.log"
                   startupTimeLimit="20"
                   processPath="C:\Program Files\nodejs\node.exe"
                   arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp">
                    <environmentVariables>
                        <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
                        <environmentVariable name="NODE_ENV" value="Production" />
                    </environmentVariables>            
                </httpPlatform>
            </system.webServer>
        </configuration>
        
      4. Create a subdirectory called "wiki" (i.e. C:\MyStuff\wiki)
      5. Create a file called C:\MyStuff\wiki\tiddlywiki.info with the content:
        {
        	"description": "My wiki",
        	"plugins": [
        		"tiddlywiki/tiddlyweb",
        		"tiddlywiki/filesystem"
        	],
        	"themes": [
        		"tiddlywiki/vanilla",
        		"tiddlywiki/snowwhite"
        	]
        }
        
      6. Create a subdirectory called "tiddlers" (i.e. C:\MyStuff\wiki\tiddlers)
      7. Within it, create a file called C:\MyStuff\wiki\tiddlers\config-tiddlyweb-host.tid with the content:
        title: $:/config/tiddlyweb/host
        text: $protocol$//$host$/MyApp/
        
        • (See the documentation for details of the configuration fields for HttpPlatformHandler
      8. Execute the command npm install within the C:/MyStuff directory

      4. Setup the application in IIS

      • In Windows, run the IIS Manager application (use the start menu to run inetmgr.exe)
      • Locate the server in the Connections column on the left, and click the disclosure triangle to show its content
      • Open the Sites folder
      • Right click on the Default Web Site entry, and select Add application.. from the menu
      • Enter the following information in the dialogue box:
        1. Alias: MyApp
        2. Physical path: C:\MyStuff
      • Click OK

      5. Test the application

      Test the app by visiting http://localhost/MyApp/ in a browser.

      Notes

      • If you require authentication, specify a username and password in the --listen command in web.config. For example:
        • arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki-server --listen username=joe &quot;password=bloggs&quot; port=PORT path-prefix=/MyApp">
        • Take note of the need to use double quotes around non-alphanumeric passwords, and to HTML encode them into &quot;
      • If you change the settings in the web.config file, or modify the app code, then you'll need to restart the server using the IIS manager application

      Instalar TiddlyWiki en Node.js

       3 junio 2016 a las 14:23
      1. Descarga e instala Node.js desde la página oficial: http://nodejs.org
      2. Abre una terminal de línea de comandos y teclea:
        npm install -g tiddlywiki (ver nota * más abajo)
        Si te da fallo, necesitas volver a ejecutar la orden como administrador:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Comprueba que TiddlyWiki se ha instalado con el comando:
        tiddlywiki --version
      4. Si todo está bien, TiddlyWiki devolverá el número de versión (p. ej, en este caso, 5.3.2-prerelease. Puede que también muestre alguna información complementaria, de depuración.
      5. Probemos a ponerlo en marcha:
        1. tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.
        2. tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
        3. Abre el navegador y escribe http://127.0.0.1:8080/ (o localhost:8080) en la barra de direcciones.
        4. Crea y edita tiddlers del modo acostumbrado. Los cambios se guardarán automáticamente en la carpeta miwiki/tiddlers
        5. Para apagar TiddlyWiki, cierra el navegador y haz Ctrl-C en la línea de comandos (o ciérrala: la consola te advertirá de que al hacerlo matarás el proceso en marcha. Confirma y listo)
      6. # Como opción, puedes hacer una copia offline del wiki:
        • Con TiddlyWiki abierto en el navegador, haz click en el botón Guardar cambios de la barra lateral
        • Con TiddlyWiki apagado y desde el mismo directorio desde donde lo iniciaste, teclea el siguiente comando en la consola:
        tiddlywiki --build index
      Nota: El argumento -g hace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.
      Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo node: command not found pese a haber instalado node.js, puede que necesites crear un enlace simbólico entre nodejs y node. En tal caso, consulta el manual de tu distribución de Linux y whereis (más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).
      Ejemplo en Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node

      Installing TiddlyWiki Prerelease on Node.js

       22 octubre 2019 a las 10:55
      1. Clone a local copy of the TiddlyWiki5 GitHub repository from https://github.com/Jermolene/TiddlyWiki5
      2. Open a command line terminal and change the current working directory to the root of the TiddlyWiki5 repo
      3. Type npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed one
      4. Inside the root, you can launch TiddlyWiki like this:
        tiddlywiki editions/tw5.com-server --listen

      After this procedure you can work with TiddlyWiki5 via npm as though it had been installed in the usual way with npm install -g tiddlywiki.

      Update the clone from time to time in order to ensure that you have the latest code.

      Guía de estilo para la redacción de material didáctico

       18 abril 2016 a las 15:17

      Las instruciones de uso hablan directamente al lector –presumiblemente principiante o intermedio– y lo guían a través de determinado proceso.

      Estos pueden subcategorizarse como:

      BIenvenida
      • ¿Qué es TiddlyWiki y qué me importa?
      • Demostraciones de características clave y sus beneficios para el usuario
      • Preguntas de uso frecuente
      • Ejemplos reales de uso de TiddlyWiki
      • Información sobre el proyecto en sí
      Tutorial
      • Presentación ordenada de material para novatos
      • Cada tiddler presenta un tema o un concepto nuevo
      • Su contenido principal contiene muy pocos enlaces
      • Una sección de información complementaria "para saber más...." puede ofrecer enlaces relacionados al final del artículo
      Ejercicio
      • Acompaña al tutorial
      • Da la solución a pedido del usuario
      Guía paso-a-paso (How-to)
      • Lista de pasos numerados para realizar pequeñas tareas específicas
      • Concisa, con enlace a tiddlers de referencia cuando sea necesario y apropiado
      • Suele abrirlo un preámbulo para aclarar la naturaleza y objetivos de la tarea
      Ejemplo
      • Acompaña a tiddlers de referencia
      • Puede contener explicaciones y comentarios similares
      • Para que la información de referencia sea lo más aséptica posible, debe mantenerse separado de esta.

      Las instrucciones de uso hablan al lector directamente y "de tú" y pueden ser razonablemente informales en su tono, pero debe evitarse el uso de coloquialismos, regionalismos, referencias culturales y humorísticas, ya que pueden desconcertar o incluso ofender a lectores internacionales.

      Al hablar de características y procedimientos, hay que intentar no frustrar al lector abusando de expresiones como "conveniente" o "fácil".

      "Interactive Git Documentation", de Devin Weaver

       17 abril 2016 a las 10:56

      Guía para arreglar un repositorio roto de Git, al estilo elige tu propia aventura

      http://sukima.github.io/GitFixUm/

      Este documento es un intento de hacer una guía bastante exhaustiva para recuperar un repositorio de Git de lo que no tenías intención de hacer.

      No es que Git sea tan complicado que necesites todo un libro para resolver tu problema en particular, sino que el abanico de cosas que puedes haber hecho para armar lío es tan grande, que se necesitan varias técnicas para solucionarlo, dependiendo de qué hayas hecho y de qué querías hacer.

      Intersection Filter Run Prefix

       28 noviembre 2021 a las 21:29

      New in: 5.1.23

      purposefind the intersection of titles from previous runs with titles in this filter run
      inputall titles from previous filter runs
      outputthe titles that are present in both the result of this filter run and the output from previous runs

      The filter output from previous runs is set aside. The :intersection filter run is started with all tiddler titles as input. Once this latest filter run has completed, the latest output is compared to the set-aside output. A new output is produced that contains only titles that appeared in both the set-aside output and the latest output.

      Examples

      Intersection Filter Run Prefix (Examples)

       28 noviembre 2021 a las 23:33

      A B C D :intersection[enlist[C D E F]]

      A B C D :intersection[enlist[A B C D]]

      A B C D :intersection[enlist[E F G H]]

      :intersection[enlist[A B C D]]
      → Using intersection in the first filter run is of little use. The result will always be empty.

      Difference between + and :intersection

      The + prefix should be thought of as an "AND" in formal logic, e.g. "give me all titles that satisfy condition A and condition B". But it's not suitable for all cases; if condition B uses a filter operator that replaces its input, then it will be difficult to use the + prefix. For example, if you wanted to find out what tags two tiddlers have in common, you might try to write a filter expression like:

      But that won't work, because the second filter run will end up throwing away its input and replacing it with an input consisting of the single title [[compare Operator]]. So the result you'd get from that filter expression would be just the tags of the compare Operator tiddler.

      For cases like this, the :intersection prefix is what you need. It takes the filter output so far, sets it aside, and starts the next filter run with all tiddler titles as input. Then once the latest filter run has completed, it takes the latest output, compares it to the set-aside output, and produces a new output that contains only titles that appeared in both the set-aside output and the latest output. So to get only the tags that the field Operator and compare Operator tiddlers have in common, you would write a filter expression like this:

      The following examples use the field Operator and compare Operator tiddlers and their respective tags.

      [[field Operator]tags[]]

      [[compare Operator]tags[]]

      [[field Operator]tags[]] +[[compare Operator]tags[]]
      → The "field Operator" tiddler's tags are lost, so only the "compare Operator" tiddler's tags are returned

      [[field Operator]tags[]] :intersection[[compare Operator]tags[]]
      → Returns the tags that both tiddlers have in common

      Video de introducción a TiddlyDesktop

       17 abril 2016 a las 16:46

      Esta breve introducción muestra cómo instalar y usar TiddlyDesktop (en inglés):

      Introducción a la notación de filtros

       20 abril 2016 a las 18:30
      Aquí se tratan los fundamentos de la creación de filtros para obtener una selección de tiddlers. Para una exposición más técnica del tema, véase Sintaxis de filtros.

      Los filtros no hacen nada por sí mismos. Necesitan siempre un contexto. La manera más sencilla de experimentar con expresiones de filtro es escribirlos en el campo de búsqueda de la pestaña Filtro, en la Búsqueda avanzada.

      El caso más simple es aquel en que ya conoces exactamente qué tiddlers quieres seleccionar. Escribe cada título en corchetes dobles, separados por por un espacio:

      [[Libro de recetas]] [[HuevosRevueltos]] [[Tarta de manzana de mamá]]

      Se pueden opitir los corchetes si el título no contiene espacios:

      [[Libro de recetas]] HuevosRevueltos [[Tarta de manzana de mamá]]

      Los corchetes dobles son, de hecho, la abreviatura de un filtro:

      [title[HuevosRevueltos]]

      ... que nos sirve de modelo genera para cualquier filtro:

      [operador[parámetro]]

      Por ejemplo: Para seleccionar todos los tiddlers etiquetados como Receta: operador > [tag[Recetas]]

      Podemos invertir el significado añadiendo un signo de exclamación ! al operador. Así, por ejemplo, para seleccionar aquellos tiddlers que no contengan la etiqueta Recetas, escribiremos:

      [!tag[Recipe]]

      Se pueden filtrar tiddlers por otros campos, no sólo por título y etiqueta:

      [field:raciones[4]]

      Con este ejemplo se seleccionarán todos aquellos tiddlers que tengan 4 como valor del campo raciones.

      Como la palabra "raciones" no es operador estándar de filtro y es improbable que alguna vez lo sea, se puede omitir sin peligro alguno el prefijo field:

      [raciones[4]]

      Combinaciones

      Los filtros vistos hasta ahora constan de un único paso, pero se se puede ejecutar una instrucción que consta de varios varios pasos, del modo siguiente:

      [tag[Vegetariano]!tag[sopas]raciones[4]]
      (Nótese cómo la instrucción entera queda encerrada por corchetes.

      Un tiddler debe coincidir con todos los pasos de la instrucción. Así, el ejemplo anterior nos devolverá una lista de recetas vegetarianas –excepto sopas–, para 4 personas.

      Una secuencia de instrucciones separadas seleccionará los tiddlers que coincidan con cualquiera de ellas. Puede servirnos para, por ejemplo, encontrar recetas para 3, 4 ó 5 personas, es decir, que cumplan cualquiera de las condiciones impuestas por estas: la primera, la segunda O la tercera.

      [raciones[3]] [raciones[4]] [raciones[5]]

      Y, si quisiéramos ignorar las recetas vegetarianas para 4 personas, podríamos decir:

      [raciones[3]] [raciones[4]!tag[Vegetariano]] [serving[5]]

      Por defecto, cada instrucción toma en consideración todos los tiddlers del wiki, pero podemos usar el signo + para restringir la acción de una instrucción a los tiddlers seleccionados por las precedentes, del modo que el resultado cumpla todas las condiciones: la anterior Y esta.

      [raciones[3]] [raciones[4]] [raciones[5]] + [tag[Vegetariano]] +[sort[title]]

      Asi seleccionaremos recetas para 3, 4 ó 5 personas y de entre estas, únicamente las vegetarianas, para, finalmente, ordenarlas por orden alfabético de sus títulos.

      De forma análoga podemos usar el signo - para eliminar los tiddlers que cumplen determinada condición de los resultados obtenidos hasta el momento, de modo que se cumplan unas condiciones Y NO las otras.

      Así podemos, por ejemplo, seleccionar todas las recetas vegetarianas salvo dos de ellas en particular:

      [tag[Vegetariano]] -[title[HuevosRevueltos]] -RopaVieja

      ...o todas las recetas sin gluten, menos las vegetarianas:

      [raciones[3]] [raciones[4]] [raciones[5]] + [tag[Sin gluten]] -[tag[Vegetariano]] +[sort[title]]

      Parámetros especiales

      Los parámetros de cada instrucción de filtrado vista hasta el momento se indica entre corchetes, significando con ello que TiddlyWiki debe interpretarlos literalmente, pero tenemos otras formas de indicar parámetros:

      Entre llaves {}, para indicar que el parámetro es una referencia de texto y que debe buscar su valor en el texto de un tiddler en particular.

      Por ejemplo: si tenemos un tiddler llamado Preferencias, cuyo texto es la palabra Vegetariano, podemos decir

      [tag{Preferencias}]

      como alternativa a [tag[Vegetariano]]. Esto permite que las preferencias cambien, sin necesidad de modificar el criterio de búsqueda.

      Entre comillas angulares simples <>, para indicar que el parámetro es el nombre de una variable cuyo valor debe usar.

      Aquí usaremos la variable incorporada currentTiddler en un filtro que selecciona todos los tiddlers cuyo texto contiene el título del actual:

      [search<currentTiddler>]

      Introduction to Lists

       12 diciembre 2017 a las 17:51

      Making lists of items plays a central role in working with TiddlyWiki. The following is a brief run-through of some of the more common techniques.

      TiddlyWiki uses lists internally for many purposes so the word can have several meanings. Here we are concerned with displaying sequences of items, but not necessarily presented as a conventional bullet list.

      Manually Typed Lists

      WikiText

      WikiText lists are manually typed lists that use a special character to specify what sort of list it is and how it should be displayed.

      Examples include bullet lists created with asterisks (*) and numbered lists (#). Behind the scenes, WikiText lists are based on the standard <ul> and <li> HTML elements. For more information see Lists in WikiText.

      An example of a typed list in WikiText:

      * Greatest Movies of All Time
      ** Casa Blanca
      ** Pride and Prejudice and Zombies

      Este es su aspecto:

      • Greatest Movies of All Time
        • Casa Blanca
        • Pride and Prejudice and Zombies

      Generated Lists

      Lists can be automatically generated with the ListWidget using filters in which filter operators specify criteria for selecting which tiddlers are desired as output. Shortcut macros are provided for some common types of list.

      ListWidget

      The ListWidget is the most powerful tool for creating lists. It allows the filtered output to be manipulated and styled into forms that may not seem to resemble lists at all, for example tables or complex texts. For more details, see ListWidget.

      An example to show all tiddlers tagged with "HelloThere" might look like:

      <$list filter="[tag[HelloThere]]"><$view field="title"/><br/></$list>

      Este es su aspecto:

      A Gentle Guide to TiddlyWiki
      Discover TiddlyWiki
      Some of the things you can do with TiddlyWiki
      Ten reasons to switch to TiddlyWiki
      Examples
      What happened to the original TiddlyWiki?
      Funding TiddlyWiki
      Open Collective

      Even tiddlers themselves are made with the ListWidget. The ViewTemplate makes use of the ListWidget to fetch all specified templates that are used to show a tiddlers title, tags, text and more.

      Filtered transclusion

      The syntax for filtered transclusion {{{...}}} takes a filter as input and outputs a linked list of matching titles. You can also apply a template, for example:

      {{{ [tag[HelloThere]] || $:/core/ui/TagTemplate }}}

      Este es su aspecto:

      list-links Macro

      The list-links macro gives a preformatted list, typically a bullet list, in a more simplified way than by using the ListWidget. Behind the scenes it really is the ListWidget applying a default template to each list item.

      Other “list related” features

      list, list-before and list-after are all field names to control the position of tiddlers in a list. Fields are a way to add additional bits of structured information to a tiddler such as date, quantity, category, etc.

      list and listed are filter operators to, respectively, select and find titles in lists.

      Principios básicos

       17 abril 2016 a las 16:46

      Esta breve presentación expone los principios básicos de TiddlyWiki.

      El TiddlyWiki usado para este video se encuentra aquí:

      https://tiddlywiki.com/editions/introduction/

      Introduction Video Thumbnail.jpg

       

      is Operator

       7 noviembre 2020 a las 11:09
      purposefilter the input by fundamental category
      inputa selection of titles
      parameterC = a category
      outputthose input tiddlers that belong to category C
      ! outputthose input tiddlers that do not belong to category C

      Learn more about how to use Filters

      The parameter C is one of the following fundamental categories:

      CategoryMatches any tiddler title that...
      currentis the current tiddler
      imagehas an image ContentType
      binaryhas a binary ContentType
      missingdoes not exist (other than possibly as a shadow tiddler), regardless of whether there are any links to it
      orphanhas no hard links to it
      shadowis a shadow tiddler, regardless of whether it has been overridden with a non-shadow tiddler
      systemis a system tiddler, i.e. its title starts with $:/
      tagis in use as a tag
      tiddlerexists as a non-shadow tiddler
      variable New in: 5.1.20 exists as a variable (whether or not that variable has a non-blank value)
      blank New in: 5.1.20 is blank (i.e. is a zero length string)
      draft New in: 5.1.23 is a draft of another tiddler. Synonym for [has[draft.of]]

      If C is anything else an error message is returned. New in: 5.1.14 if C is blank, the output is passed through unchanged (in earlier versions an error message was returned).

      !is[tiddler] is a synonym for is[missing], and vice versa.

      When is[missing] is the first operator in a run, its output is always empty. And when is[shadow] comes first, it outputs only those shadow tiddlers that have been overridden. This is because the initial input to a run contains only non-shadow tiddlers.

      Use has[title] to match any tiddler title that is either a tiddler or a shadow tiddler.

      The all operator is similar to is, but its scope is the whole wiki.

      Examples

      is Operator (Examples)

       19 enero 2015 a las 13:46

      [is[tag]]

      [!is[tag]]

      [all[shadows]!is[system]]
      → shadow tiddlers that don't start with $:/

      [is[system]tag[$:/tags/Stylesheet]]
      → system stylesheets

      [all[shadows]is[system]tag[$:/tags/Stylesheet]]
      → shadow system stylesheets

      [is[shadow]]
      → overridden shadow tiddlers

      [is[missing]]
      → empty because its input contains only tiddlers that exist

      Japanese (Japan) Edition

       27 diciembre 2020 a las 1:00

      TiddlyWikiの日本語バージョンはこちら:

      JavaScript

       4 mayo 2016 a las 17:35

      JavaScript es un lenguaje de programación originariamente para incluir pequeños scripts en páginas web. Por ese motivo se lo consideraba más un juguete que un lenguaje en sí. Con los años, sin embargo, se ha reconocido su potencial y se ha ganado por propio derecho un lugar en la programación más allá de los límites del propio navegador y la web.

      JavaScript tiene este aspecto:

      function circleArea(radius) {
      	return radius * 2 * 3.141592653;
      }

      JavaScript Object Notation

       27 abril 2022 a las 18:09

      JSON is a standard plain-text format used for modelling hierarchical structures of objects that contain named fields. See JSON in TiddlyWiki for an overview.

      JeremyRuston

       20 septiembre 2017 a las 14:11

      I'm the original inventor of TiddlyWiki. You can hire me through Federatial, and find me on these services:

      Further information:

      Jermolene

       28 agosto 2013 a las 20:02

      Alias for JeremyRuston.

      join Operator

       13 junio 2019 a las 16:46
      purposejoin a list of strings together with the separator S
      inputa selection of titles
      parameterS = the separator to insert between each of the items
      outputthe input titles joined together with the separator S

      Learn more about how to use Filters

      join Operator (Examples)

       13 junio 2019 a las 16:47

      a b c d e +[join[,]]

      JSON in TiddlyWiki

       11 junio 2022 a las 11:47

      Introduction

      JSON (JavaScript Object Notation) is a standardised text representation for data structures that is widely used for the storage and transfer of data.

      JSON is used in several different contexts in TiddlyWiki. For example:

      • Tiddlers are represented as JSON data within TiddlyWiki HTML files
      • Groups of tiddlers can be exported and imported as JSON files
      • Plugin tiddlers store their constituent shadow tiddlers as JSON data
      • The client-server configuration uses JSON messages to communicate between the client and the server
      • Arbitrary JSON data within DataTiddlers can be processed and manipulated using a set of filter operators and action widgets

      About JSON

      The technical description of JSON at the official website https://json.org/ is terse. Here we summarise the main features.

      JSON supports two basic data structures:

      Arrays are lists of items. The items are identified by their numeric index (starting at zero)

      An example of an array is:

      ["one","two","three\"four"]

      Note the following features of arrays:

      • The array is signified by square brackets surrounding the list of items
      • Each item is a string in double quotes. Double quotes can be included within the strings by preceding them with a backslash (\)
      • The items are separated by commas

      Objects are collections of name/value pairs. Each item is a value that is identified by a unique name

      An example of an object is:

      {
        "first": "This is the first value",
        "second": "This is the second value",
        "third": "This is the third value"
      }

      Note the following features of objects:

      • The object is signified by curly braces surrounding the list of name/value pairs
      • Each name/value pair consists of the name in double quotes, a colon, and then the value
      • The name/value pairs are separated by commas

      The examples above all show string values. JSON actually supports several different types of value. Any of these types can be used as a value:

      • String values, as shown above
      • Numeric values, represented as signed decimals such as 1, 3.14. Exponential notation can also be used e.g. -1E10
      • Boolean values, represented by the keywords true and false
      • The special value null, which is often used to represent data that is missing or incomplete
      • Objects and arrays are also values, allowing complex nested structures to be represented

      Working with Data Tiddlers

      Json Mangler plugin by Joshua Fontany

       6 enero 2021 a las 15:10

      Extend tiddlywiki to parse complex ("nested") json data tiddlers.

      Json Mangler introduces a new path syntax for indexes of json data tiddlers , and includes many supporting tools, filters, widgets, etc.

      Example Wiki: https://joshuafontany.github.io/TW5-JsonMangler/

      Source: https://github.com/joshuafontany/TW5-JsonMangler

      jsonextract Operator

       11 junio 2022 a las 11:47
      purposeretrieve the JSON string of a property from JSON strings
      inputa selection of JSON strings
      parameterone or more indexes of the property to retrieve
      outputthe JSON string values of each of the retrieved properties

      Learn more about how to use Filters

      New in: 5.2.4 See JSON in TiddlyWiki for background.

      The jsonextract operator is used to retrieve values from JSON data as JSON substrings. See also the following related operators:

      • jsonget to retrieve the values of a property in JSON data
      • jsontype to retrieve the type of a JSON value
      • jsonindexes to retrieve the names of the fields of a JSON object, or the indexes of a JSON array

      Properties within a JSON object are identified by a sequence of indexes. In the following example, the value at [a] is one, and the value at [d][f][0] is five.

      {
          "a": "one",
          "b": "",
          "c": "three",
          "d": {
              "e": "four",
              "f": [
                  "five",
                  "six",
                  true,
                  false,
                  null
              ],
              "g": {
                  "x": "max",
                  "y": "may",
                  "z": "maize"
              }
          }
      }

      The following examples assume that this JSON data is contained in a variable called jsondata.

      The jsonextract operator uses multiple operands to specify the indexes of the property to retrieve. Values are returned as literal JSON strings:

      [<jsondata>jsonextract[a]] --> "one"
      [<jsondata>jsonextract[d],[e]] --> "four"
      [<jsondata>jsonextract[d],[f],[0]] --> "five"
      [<jsondata>jsonextract[d],[f]] --> ["five","six",true,false,null]
      [<jsondata>jsonextract[d],[g]] --> {"x":"max","y":"may","z":"maize"}

      Indexes can be dynamically composed from variables and transclusions:

      [<jsondata>jsonextract<variable>,{!!field},[0]]

      A subtlety is that the special case of a single blank operand is used to identify the root object. Thus:

      [<jsondata>jsonextract[]] --> {"a":"one","b":"","c":"three","d":{"e":"four","f":["five","six",true,false,null],"g":{"x":"max","y":"may","z":"maize"}}}

      jsonget Operator

       11 junio 2022 a las 11:47
      purposeretrieve the value of a property from JSON strings
      inputa selection of JSON strings
      parameterone or more indexes of the property to retrieve
      outputthe values of each of the retrieved properties

      Learn more about how to use Filters

      New in: 5.2.4 See JSON in TiddlyWiki for background.

      The jsonget operator is used to retrieve values from JSON data as strings. See also the following related operators:

      • jsontype to retrieve the type of a JSON value
      • jsonindexes to retrieve the names of the fields of a JSON object, or the indexes of a JSON array
      • jsonextract to retrieve a JSON value as a string of JSON

      Properties within a JSON object are identified by a sequence of indexes. In the following example, the value at [a] is one, and the value at [d][f][0] is five.

      {
          "a": "one",
          "b": "",
          "c": "three",
          "d": {
              "e": "four",
              "f": [
                  "five",
                  "six",
                  true,
                  false,
                  null
              ],
              "g": {
                  "x": "max",
                  "y": "may",
                  "z": "maize"
              }
          }
      }

      The following examples assume that this JSON data is contained in a variable called jsondata.

      The jsonget operator uses multiple operands to specify the indexes of the property to retrieve:

      [<jsondata>jsonget[a]] --> "one"
      [<jsondata>jsonget[d],[e]] --> "four"
      [<jsondata>jsonget[d],[f],[0]] --> "five"

      Indexes can be dynamically composed from variables and transclusions:

      [<jsondata>jsonget<variable>,{!!field},[0]]

      Boolean values and null are returned as normal strings. The jsontype operator can be used to retrieve a string identifying the original type. Thus:

      [<jsondata>jsontype[a]] --> "string"
      [<jsondata>jsontype[d]] --> "object"
      [<jsondata>jsontype[d],[f]] --> "array"
      [<jsondata>jsontype[d],[f],[2]] --> "boolean"

      Using the jsonget operator to retrieve an object or an array returns a list of the values. For example:

      [<jsondata>jsonget[d],[f]] --> "five","six","true","false","null"
      [<jsondata>jsonget[d],[g]] --> "max","may","maize"

      The jsonindexes operator retrieves the corresponding indexes:

      [<jsondata>jsonindexes[d],[f]] --> "0", "1", "2", "3", "4"
      [<jsondata>jsonindexes[d],[g]] --> "x", "y", "z"

      If the object or array contains nested child objects or arrays then the values are retrieved recursively and returned flattened into a list. For example:

      [<jsondata>jsonget[d]] --> "four","five","six","true","false","null","max","may","maize"

      A subtlety is that the special case of a single blank operand is used to identify the root object. Thus:

      [<jsondata>jsonindexes[]] --> "a", "b", "c", "d"

      jsonindexes Operator

       11 junio 2022 a las 11:47
      purposeretrieve the value of a property from JSON strings
      inputa selection of JSON strings
      parameterone or more indexes of the property to retrieve
      outputthe values of each of the retrieved properties

      Learn more about how to use Filters

      New in: 5.2.4 See JSON in TiddlyWiki for background.

      The jsonindexes operator is used to retrieve the property names of JSON objects or the index names of JSON arrays. See also the following related operators:

      • jsonget to retrieve the values of a property in JSON data
      • jsontype to retrieve the type of a JSON value
      • jsonextract to retrieve a JSON value as a string of JSON

      Properties within a JSON object are identified by a sequence of indexes. In the following example, the value at [a] is one, and the value at [d][f][0] is five.

      {
          "a": "one",
          "b": "",
          "c": "three",
          "d": {
              "e": "four",
              "f": [
                  "five",
                  "six",
                  true,
                  false,
                  null
              ],
              "g": {
                  "x": "max",
                  "y": "may",
                  "z": "maize"
              }
          }
      }

      The following examples assume that this JSON data is contained in a variable called jsondata.

      The jsonindexes operator uses multiple operands to specify the indexes of the property to retrieve:

      [<jsondata>jsonindexes[d],[f]] --> "0", "1", "2", "3", "4"
      [<jsondata>jsonindexes[d],[g]] --> "x", "y", "z"

      Indexes can be dynamically composed from variables and transclusions:

      [<jsondata>jsonindexes<variable>,{!!field}]

      Retrieving the indexes of JSON properties that are not objects or arrays will return nothing.

      A subtlety is that the special case of a single blank operand is used to identify the root object. Thus:

      [<jsondata>jsonindexes[]] --> "a", "b", "c", "d"

      jsonstringify Operator

       19 septiembre 2023 a las 13:48
      purposedeprecated, use stringify instead

      Learn more about how to use Filters

      New in: 5.1.14

      jsontiddler Macro

       27 abril 2022 a las 18:12

      The jsontiddler macro returns the fields of a single tiddler in JSON form. See JSON in TiddlyWiki for an overview.

      Parameters

      title
      The title of a tiddler

      JSONTiddlers

       27 abril 2022 a las 18:12

      A JSON tiddler is a data tiddler containing a JSON structure in its text field. See JSON in TiddlyWiki for an overview.

      Its ContentType is application/json.

      The history list is an example of a JSON tiddler.

      jsontiddlers Macro

       27 abril 2022 a las 18:11

      The jsontiddlers macro returns the fields of a selection of tiddlers in JSON form. See JSON in TiddlyWiki for an overview.

      An example can be seen in the template tiddler for JSON exports.

      Parameters

      filter
      A filter selecting which tiddlers to include
      spaces
      An optional number of spaces to use for formatting the JSON. Defaults to 4, with blank or zero resulting in packed JSON with no formatting spaces

      JSONTiddlerWidget

       27 abril 2022 a las 18:11

      Introduction

      The jsontiddler widget renders the fields of a tiddler to display as a JSON object. The fields of the tiddler can be customised or excluded.

      The jsontiddler widget is used in system templates to generate JSON representations of tiddlers for saving. See JSON in TiddlyWiki for an overview.

      Content and Attributes

      The content of the <$jsontiddler> widget is ignored.

      AttributeDescription
      tiddlerOptional title of the tiddler from which the fields are to be displayed
      excludeOptional space separated list of fields to be excluded
      escapeUnsafeScriptCharsIf set to "yes" then the < character will be escaped to the equivalent \u003C encoding
      {any attributes starting with $}Each attribute name (without the leading $) specifies a field to be modified with the attribute value providing the value to assign to the field

      jsontype Operator

       11 junio 2022 a las 11:47
      purposeretrieve the type of a property from JSON strings
      inputa selection of JSON strings
      parameterone or more indexes of the property whose type is to be retrieved
      outputthe types of each of the retrieved properties

      Learn more about how to use Filters

      New in: 5.2.4 See JSON in TiddlyWiki for background.

      The jsontype operator is used to retrieve the type of a property in JSON data. See also the following related operators:

      • jsonget to retrieve the values of a property in JSON data
      • jsonindexes to retrieve the names of the fields of a JSON object, or the indexes of a JSON array
      • jsonextract to retrieve a JSON value as a string of JSON

      JSON supports the following data types:

      • string - a Unicode string
      • number - a floating point number
      • boolean - Boolean value (true or false)
      • array - an array of values
      • object - an object of name/value pairs
      • null - a special type representing a missing value

      Properties within a JSON object are identified by a sequence of indexes. In the following example, the value at [a] is one, and the value at [d][f][0] is five.

      {
          "a": "one",
          "b": "",
          "c": "three",
          "d": {
              "e": "four",
              "f": [
                  "five",
                  "six",
                  true,
                  false,
                  null
              ],
              "g": {
                  "x": "max",
                  "y": "may",
                  "z": "maize"
              }
          }
      }

      The following examples assume that this JSON data is contained in a variable called jsondata.

      The jsontype operator uses multiple operands to specify the indexes of the property whose type is to be retrieved:

      [<jsondata>jsontype[a]] --> "string"
      [<jsondata>jsontype[d]] --> "object"
      [<jsondata>jsontype[d],[f]] --> "array"
      [<jsondata>jsontype[d],[f],[2]] --> "boolean"

      Indexes can be dynamically composed from variables and transclusions:

      [<jsondata>jsontype<variable>,{!!field},[0]]

      A subtlety is that the special case of a single blank operand is used to identify the root object. Thus:

      [<jsondata>jsontype[]] --> "object"

      JSZip Plugin

       19 octubre 2020 a las 9:48

      This plugin provides primitives for creating Zip files in the browser. It also makes the JSZip library available for use by other plugins.

      KaTeX

       4 mayo 2016 a las 6:26

      Este plugin permite mostrar notación matemática escrita en LaTeX.

      Disponible en: https://tiddlywiki.com/plugins/tiddlywiki/katex/

      kdi-demo-configtid

       23 noviembre 2021 a las 3:44

      Keyboard Codes

       25 mayo 2021 a las 11:37

      This is a list of all the key codes supported by the KeyboardWidget:

      cancel, help, backspace, tab, clear, return, enter, pause, escape, space, page_up, page_down, end, home, left, up, right, down, printscreen, insert, delete

      0, 1, 2, 3, 4, 5, 6, 7, 8, 9

      a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

      numpad0, numpad1, numpad2, numpad3, numpad4, numpad5, numpad6, numpad7, numpad8, numpad9

      multiply, add, separator, subtract, decimal, divide

      f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12
      f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24

      firefoxsemicolon, firefoxequals, firefoxminus

      semicolon, equals, comma, dash, period, slash, backquote, openbracket, backslash, closebracket, quote

      shift, ctrl, alt, meta

      Keyboard Shortcut Descriptor

       

      Keyboard Shortcut Descriptors are used by the KeyboardWidget and within Tiddlers tagged $:/tags/KeyboardShortcut to link actions with a keyboard combination

      A Keyboard Shortcut Descriptor has the following format:

      	ctrl+enter
      	ctrl+shift+alt+A
      	alt-shift-T
      	alt-Space

      It can have multiple Key combinations:

      ctrl+enter alt+shift+A ctrl+alt+9 alt-Space ctrl-Backspace

      There are two ways Keyboard Shortcut Descriptors can be used:

      Keyboard Shortcut Tiddler

       

      A Keyboard Shortcut Tiddler is made of three parts:

      New in: 5.2.4 By default $keyboard and text editor shortcuts take priority, which can be circumvented by setting the field priority to yes.

      If the Keyboard Shortcut Descriptor has the form ((my-shortcut)) it's a reference to a configuration Tiddler that stores the corresponding Keyboard Shortcut

      In order to make a shortcut editable through the Atajos de teclado Tab in the $:/ControlPanel it's sufficient to create a tiddler $:/config/ShortcutInfo/my-shortcut, where the suffix is the reference used for the Keyboard Shortcut

      Notes on wiki navigation

      If you want to create keyboard shortcuts for navigation, there are two things to keep in mind:

      keyboard-driven-input Macro

       

      The keyboard-driven-input macro generates an input field or textarea that lets you cycle through a given list of entries with the Up and Down keys. Doing so, an entry gets selected and can be processed with further actions

      Parameters

      To create the input field or textarea, the keyboard-driven-input macro accepts all parameters of the EditTextWidget

      The additional parameters are:

      parameterpurpose
      storeTitlethe title of the tiddler that stores the user input
      selectionStateTitlethe title of the tiddler that stores the selected entry with a -primaryList or -secondaryList suffix to make it unique
      inputAcceptActionsthe actions that get processed when the user hits Enter
      inputAcceptVariantActionsthe actions that get processed when the user hits ctrl-Enter
      inputCancelActionsthe actions that get processed when the user hits Escape
      configTiddlerFiltera filter that specifies the tiddler that stores the first item-filter in its first-search-filter field and the second item-filter in its second-search-filter field
      firstSearchFilterFieldthe field of the configTiddler where the first search-filter is stored. Defaults to first-search-filter
      secondSearchFilterFieldthe field of the configTiddler where the second search-filter is stored. Defaults to second-search-filter
      filterMinLengththe minimum length of the user input after which items are filtered

      See Demonstration: keyboard-driven-input Macro for further guidance on using this macro.

      Atajos de teclado

       23 abril 2016 a las 7:19

      TiddlyWiki ofrece actualmente un muy limitado soporte de atajos de teclado, pero está en proyecto desarrollarlo en próximas ediciones.

      Atajos de edición

      TeclasDescripción
      ctrl-enterConfirmar los cambios realizados en el borrador en foco
      escapeDescartar los cambios realizados y abandonar la edición del borrador en foco

      KeyboardWidget

       9 octubre 2021 a las 13:12

      Introduction

      The keyboard widget allows ActionWidgets to be triggered by specific key combinations. There is also a shorthand for generating Messages via the message and param attributes.

      Content and Attributes

      The content of the <$keyboard> widget is rendered normally. The keyboard shortcuts only take effect when the focus is within the contained content.

      AttributeDescription
      actionsA string containing ActionWidgets to be triggered when the key combination is detected
      New in: 5.2.0 The variables: event-key, event-code and modifier are available for the actions
      messageThe title of the WidgetMessage to generate
      paramThe parameter to be passed with the WidgetMessage
      keyKey string identifying the key(s) to be trapped (see below)
      classA CSS class to be assigned to the generated HTML DIV element
      tag New in: 5.1.14 The html element the widget creates to capture the keyboard event, defaults to:
      » span when parsed in inline-mode
      » div when parsed in block-mode

      Variables

      New in: 5.2.0 The following variables are made available to the actions:

      VariablesDescription
      event-keyThe event-key variable contains the character, if possible. eg: 1. You can experiment with some settings at: Key Codes (Example)
      event-codeThe event-code variable contains a character description. eg: Digit1 instead of 1. Or Space instead of an empty string , which is hard to see
      event-key-descriptorThe event-key-descriptor variable is available if the keyboard event captured was configured using a keyboard shortcut descriptor of the form ((my-shortcut)) which references a configuration tiddler.
      modifierThe modifier Variable contains the Modifier Key held during the event (can be normal, ctrl, shift, alt or combinations thereof)

      Key Strings

      Key strings are made up of one or more key specifiers separated by spaces. Each key specifier is zero or more of the modifiers alt, shift, ctrl or meta followed by the name of a key, all joined with "+" plus or "-" minus symbols. Key names are either the letter or digit printed on the key (eg "a" or "1"), or one of the special keys backspace, tab, enter or escape.

      ctrlshiftaltmeta+-+backspace<a-z,0-9>tabenterescape

      For example:

      A
      shift+A
      shift+escape
      ctrl+enter
      ctrl+shift+alt+A

      More Info

      Matar al dragón

       18 abril 2016 a las 5:57

      Tarea de muestra para el Ejemplo de administración de tareas

      Kin filter operator by bimlas

       6 enero 2021 a las 15:10

      The purpose of the kin operator with examples:

      • Finds related tags, related tiddlers in any depth
      • Finds out where base tiddler originates and what other elements originate from it
      • Finds the ancestors and successors of a family member
      • Finds the "leaves" of the branch of the base tiddler in a tree-like structure (where the base tiddler is a leaf)
      • Finds the super- and subsets / groups of a mathematical set (where the base tiddler is a set)

      https://bimlas.gitlab.io/tw5-kin-filter/

      Kookma Plugin Library by Mohammad

       17 noviembre 2020 a las 16:08

      This library contains most useful plugins developed under the name Kookma for Tiddlywiki 5.

      https://kookma.github.io/TW-PluginLibrary/

      It has two parts

      The plugin library introduces a very simple mechanism like Tiddlywiki Official Plugin Library to let select among the published plugins and install any number of them you like.

      Korean (Korea Republic) Edition

       24 abril 2016 a las 12:33

      티들리위키 한국어 번역은 다음에서 사용할 수 있습니다:

      Language Icon: ca-ES

       

      Language Icon: cs-CZ

       

      Language Icon: da-DK

       

      Language Icon: de-AT

       

      Language Icon: de-DE

       

      Language Icon: el-GR

       

      Language Icon: en-US

       

      Language Icon: es-ES

       

      Language Icon: fr-FR

       

      Language Icon: hi-IN

       

      Language Icon: ia-IA

       

      Language Icon: it-IT

       

      Language Icon: ja-JP

       

      Language Icon: ko-KR

       

      Language Icon: nl-NL

       

      Language Icon: pa-IN

       

      Language Icon: pt-PT

       

      Language Icon: ru-RU

       

      Language Icon: sk-SK

       

      Language Icon: sv-SE

       

      Language Icon: zh-Hans

       

      Language Icon: zh-Hant

       

      LanguageGallery Example

       17 noviembre 2021 a las 21:27

      Here is an example of using the ListWidget and the TranscludeWidget to show a grid of all of Language Icons which are tiddlers tagged and

      Idiomas

       3 mayo 2016 a las 17:35

      Plugins de idioma

      La interfaz de usuario de TiddlyWiki está disponible en más de 20 idiomas. Puedes instalar cualquiera de ellos desde el panel de control, en la pestaña Complementos.

      Aprendiendo a traducir TiddlyWiki a tu idioma puedes contribuir a ampliar la librería.

      Ediciones en otros idiomas

      Existen ediciones precompiladas en algunos idiomas, que contienen documentación adicional:

      last Operator

       3 febrero 2015 a las 19:20
      purposeselect the last N input titles
      inputa selection of titles
      parameterN = an integer, defaulting to 1
      outputthe last N input titles

      Learn more about how to use Filters

      last Operator (Examples)

       19 enero 2015 a las 18:21

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]last[]]

      [list[Days of the Week]last[5]]

      [tag[Concepts]!sort[title]last[3]]

      Novedades

       13 abril 2016 a las 17:02

      Las últimas noticias, artículos, recursos y ejemplos.

      Carga diferida o Lazy Loading

       3 mayo 2016 a las 6:43

      Generalmente, todo el contenido de todos los tiddlers se incrusta en el archivo HTML principal. Lazy loading o Carga diferida es la técnica por la que sólo se incrustan los metadatos del tiddler (es decir, todos los campos menos text), que se pide al servidor cuando se necesita. (Más información, aquí)

      Puede aplicarse carga diferida en dos configuraciones:

      Carga diferida en Node.js

      Para iniciar TiddlyWiki en carga diferida de imágenes, utiliza este comando:

      tiddlywiki --server 8080 $:/core/save/lazy-images

      para aplicar la carga diferida a todos los tiddlers salvo los de sistema, utiliza este este otro:

      tiddlywiki --server 8080 $:/core/save/lazy-all

      Carga diferida en TiddlyWeb

      En la configuración actual, la carga diferida se aplica por defecto.

      Leaflet maps plugin by Sylvain Comte

       6 enero 2021 a las 15:10

      A mapping plugin based on Leaflet library. Allows you to create maps based upon geographical data contained in tiddlers.

      http://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin

      The leaflet plugin is a (working) attempt to integrate the leaflet library in TiddlyWiki in order to display geographical purpose tiddlers.

      For now <$leafmap> widget displays an interactive map. Select size, location and zoom, clustering distance, and background. You can display data : geojson, point(s), polygon(s) and/or polyline(s) directly or calling GeoTiddler(s). Tiddler can be called individually, by list or with a filter.

      Have a look at demo page on the web.

      Aprende a usar TiddlyWiki

       21 abril 2016 a las 7:36

      length Operator

       13 junio 2019 a las 16:33
      purposereturns the number of characters of each item in the list
      inputa selection of titles
      outputreplaces each input title with its length as an integer

      Learn more about how to use Filters

      length Operator (Examples)

       13 junio 2019 a las 16:34

      [[abc]length[]]

      [tag[HelloThere]length[]]

      LetWidget

       1 octubre 2022 a las 10:46

      Introduction

      New in: 5.2.1 The $let widget allows multiple variables to be set in one operation. In some situations it can result in simpler code than using the more flexible $set widget. It differs from the $vars widget in that variables you're defining may depend on earlier variables defined within the same $let.

      Content and Attributes

      The content of the $let widget is the scope for the value assigned to the variable.

      AttributeDescription
      {attributes}Each attribute name specifies a variable name. The attribute value is assigned to the variable

      Attributes are evaluated in the order they are written. Attributes with the same name are allowed. Each time a duplicate attribute is encountered, it will replace the existing value set by the earlier duplicate.

      Note
      New in: 5.2.4 There is no longer any restriction on using variable names that start with the $ character.

      Examples

      Consider a case where you need to set multiple variables, where some depend on the evaluation of others.

      Using the $let widget, this situation may be handled in the following way:

      \define helloworld() Hello world!
      
      <$let target="MyTiddler" currentTiddler={{{ [<target>prefix[$:/settings/for/]] }}} settings={{!!text}} currentTiddler=<<target>> >
        The settings for <<currentTiddler>> are: <<settings>>
      </$let>

      In contrast, here is the same example using the $set widget:

      <$set name="target" value="MyTiddler" >
      <$set name="currentTiddler" value={{{ [<target>prefix[$:/settings/for/]] }}} >
      <$set name="settings" value={{!!text}} >
      <$set name="currentTiddler" value=<<target>> >
        The settings for <<currentTiddler>> are: <<settings>>
      </$set>
      </$set>
      </$set>
      </$set>

      Remarks

      This widget differs from $vars in the following way:

      • Each variable's definition will be immediately available to all proceeding variables in the same let widget. This differs from vars, in which definitions which depend on some variable will always look to the widget's outer scope for a value.

      This widget differs from $set in the following ways:

      • A fallback (also known as "emptyValue") cannot be specified
      • Filters cannot be used to produce a conditional variable assignment
      • Variable names must be literal strings

      levenshtein Operator

       4 marzo 2023 a las 18:16
      purposedetermine the Levenshtein distance of the input title(s) and a given string
      inputa selection of titles
      parameterS = a string
      outputthe Levenshtein distance between the input title(s) and S

      Learn more about how to use Filters

      New in: 5.2.6

      The Levenshtein distance is a metric for measuring the difference between two strings. Informally, the Levenshtein distance between two strings is the minimum number of single-character edits required to change one string into the other.

      Examples

      levenshtein Operator (Examples)

       4 marzo 2023 a las 18:31

      Determine the Levenshtein distance between two words:

      [[motel]levenshtein[money]]

      List the 10 tiddler titles with the smallest Levenstein distance to "TiddlyWiki":

      <ul>
      <$list filter="[all[tiddlers]!is[system]] :sort:number[levenshtein[TiddlyWiki]] :and[first[10]]">
      <li>
      <$link /> (<$text text={{{ [all[current]levenshtein[TiddlyWiki]] }}} />)
      </li>
      </$list>
      </ul>
      

      Este es su aspecto:

      License

       27 enero 2017 a las 22:26

      TiddlyWiki is published under a permissive BSD 3-Clause License stored in the shadow tiddler $:/core/copyright.txt:

      TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
      
      Copyright (c) 2004-2007, Jeremy Ruston
      Copyright (c) 2007-2023, UnaMesa Association
      All rights reserved.
      
      Redistribution and use in source and binary forms, with or without
      modification, are permitted provided that the following conditions are met:
      
      * Redistributions of source code must retain the above copyright notice, this
        list of conditions and the following disclaimer.
      
      * Redistributions in binary form must reproduce the above copyright notice,
        this list of conditions and the following disclaimer in the documentation
        and/or other materials provided with the distribution.
      
      * Neither the name of the copyright holder nor the names of its
        contributors may be used to endorse or promote products derived from
        this software without specific prior written permission.
      
      THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
      AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
      DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
      FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
      DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
      SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
      CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
      OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
      OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

      In layman's terms, the license says that you can take TiddlyWiki and do anything you want with it without any license fee payment or other legal obligation to the creators of TiddlyWiki or anyone else. The quid pro quo is that there is no warranty or guarantee with open source projects like TiddlyWiki. You can't sue the contributors to TiddlyWiki for any loss or damage due to the use of TiddlyWiki: even if your data is lost due to a tragic chain of circumstances that involves TiddlyWiki.

      You are respectfully requested that to make an attribution to the project, but there's no obligation to do so.

      For the avoidance of doubt, any information that you choose to store within your own copy of TiddlyWiki remains yours; using TiddlyWiki to publish content doesn't change whatever rights you may have to that content.

      limit Operator

       3 febrero 2015 a las 18:54
      purposeselect the first or last N input titles
      inputa selection of titles
      parameterN = an integer, defaulting to 0
      outputthe first N input titles
      ! outputthe last N input titles

      Learn more about how to use Filters

      limit[N] and !limit[N] are synonyms for first[N] and last[N] respectively.

      Examples

      limit Operator (Examples)

       23 enero 2015 a las 21:43

      [sort[modified]!limit[20]]
      → the 20 most recently modified tiddlers

      [has[created]sort[created]limit[10]]
      → the oldest 10 tiddlers in the wiki

      lingo Macro

       21 febrero 2015 a las 15:57

      The lingo macro relates to the translation of TiddlyWiki's user interface into other languages. It returns a piece of text in the user's currently selected language.

      Translatable text is supplied by language plugins containing tiddlers with specific titles that start with $:/language/.

      Parameters

      title
      The title of the shadow tiddler that contains the text. The prefix $:/language/ is added automatically

      Examples

      lingo Macro (Examples)

       21 febrero 2015 a las 16:01

      This example shows the text used as the basis for the title of a newly created tiddler:

      <<lingo DefaultNewTiddlerTitle>>

      This example shows the name of the eighth month of the year, for use in formatting dates:

      <<lingo Date/Long/Month/8>>

      LinkCatcherWidget

       26 febrero 2022 a las 12:11

      Introduction

      The link catcher widget traps WidgetMessage: tm-navigate dispatched within its child content by performing any or all of these actions:

      • sending a different widget message
      • setting a tiddler to the title of the navigated tiddler
      • setting a tiddler to a specified value
      • performing a series of ActionWidgets

      Content and Attributes

      The content of the <$linkcatcher> widget is displayed normally.

      AttributeDescription
      toOptional title of the tiddler to be set to the title of the navigated tiddler
      messageOptional identifier for a widget message to be sent when a navigation is caught
      setOptional title of the tiddler to be set to a specified value when navigation occurs
      setToValue to be assigned by the set attribute
      actionsActions to be performed when a link is caught. Within the action string, the variable "navigateTo" contains the title of the tiddler being navigated. New in: 5.1.23 the modifier variable lists the modifier keys that are pressed when the action is invoked. The possible modifiers are ctrl, ctrl-alt, ctrl-shift, alt, alt-shift, shift and ctrl-alt-shift

      New in: 5.2.0 For more complex use cases involving trapping the tm-navigate message consider the MessageCatcherWidget which provides greater flexibility

      Linking in WikiText

       30 diciembre 2021 a las 14:59

      A key capability of WikiText is the ability to make links to other tiddlers or to external websites.

      Manual Links

      Link to a tiddler by title:

      [[Tiddler Title]]

      To link to a tiddler and specify the text of the link:

      [[Displayed Link Title|Tiddler Title]]

      You can also create a link from the editor toolbar. Click link (), and search and select a tiddler.

      CamelCase Links

      For tiddler titles that match the CamelCase rules, just typing the title without double square brackets will automatically create a link.

      You can suppress a link from being recognised by preceding it with ~. For example:

      * ~HelloThere is not a link
      * ~http://google.com/ is not a link

      Tiene este aspecto:

      • HelloThere is not a link
      • http://google.com/ is not a link

      ... y su código HTML es:

      <ul><li>HelloThere is not a link</li><li>http://google.com/ is not a link</li></ul>

      External Links

      To link to an external resource such as a website or a file, type its full URL, including the URI scheme such as a protocol (e.g. http://, file://) or mailto:

      https://tiddlywiki.com/
      
      [[TW5|https://tiddlywiki.com/]]
      
      [[Mail me|mailto:me@where.net]]
      
      [[Open file|file:///c:/users/me/index.html]]

      For this syntax to work, the URL has to be recognisable as a URL. Otherwise, it is treated as a tiddler title. As a result, in case you want to link to a resource locatable using a relative path, use the extended syntax:

      [ext[Open file|index.html]]
      
      [ext[Open file|./index.html]]
      
      [ext[Open file|../README.md]]
      
      [ext[Open file|c:\users\me\index.html]]

      The extended syntax still works with full URLs, although in that case it is not necessary:

      [ext[https://tiddlywiki.com]]
      
      [ext[TW5|https://tiddlywiki.com]]
      
      [ext[Mail me|mailto:me@where.net]]
      
      [ext[Open file|file:///c:/users/me/index.html]]

      You can also use the extended syntax to force an external link:

      [ext[Donate|bitcoin:1aabbdd....?amount=0.001]]

      Customising Tiddler Links

      See the LinkWidget for details of the underlying widget used to implement tiddler links, including macros that can be used to customise its behaviour.

      Generating dynamic links

      Linking in WikiText does not lend itself well to creating dynamic links. The reason is because this WikiText link:

      [[link to myself|Linking in WikiText]]

      is shorthand for using the LinkWidget and TextWidget like this:

      <$link to="Linking in WikiText">
        <$text text="link to myself"/>
      </$link>

      Since both the link title ("link to myself") and the link target ("Linking in WikiText") are used as widget attributes, no WikiText expansion takes place.

      For example, an attempt to use a reference and a variable to dynamically generate a link like this:

      Warning:
      Don't do it this way!

      [[{{!!caption}}|<<currentTiddler>>]]

      is the same as trying to use the LinkWidget and TextWidget like this:

      Warning:
      Don't do it this way!
      <$link to="<<currentTiddler>>">
        <$text text="{{!!caption}}"/>
      </$link>

      This will not work as desired. Content inside of quoted widget attributes is treated as a literal value and protected from WikiText expansion, so it will render like this:

      Warning:
      Don't do it this way!

      {{!!caption}}

      In order to get the desired result, the LinkWidget can be used directly like this:

      <$link to=<<currentTiddler>>>{{!!caption}}</$link>

      Este es su aspecto:

      Linking

      See also another example of constructing dynamic links.

      Linking within tiddlers - "anchor links"

      In TiddlyWiki anchor links can help us link to target points and distinct sections within rendered tiddlers. They can help the reader navigate longer tiddler content.

      See Anchor Links using HTML for more information.

      links Operator

       3 febrero 2015 a las 18:55
      purposefind the titles linked to by each input title
      inputa selection of titles
      parameternone
      outputthe titles to which the input tiddlers contain hard links

      Learn more about how to use Filters

      Each input title is processed in turn. The corresponding tiddler's list of links is generated, in the order in which they appear in the tiddler's text, and dominantly appended to the operator's overall output.

      Examples

      links Operator (Examples)

       24 enero 2015 a las 20:27

      [[HelloThere]links[]]

      [all[current]links[]]
      → tiddlers hard-linked from the current one

      Here are some hard links:

      LinkWidget

       10 junio 2019 a las 20:51

      The link widget generates links to tiddlers. (Use the HTML <a> element to generate external links).

      Content and Attributes

      The content of the link widget is rendered within the <a> tag representing the link. If the content is empty then the title of the target tiddler is rendered as the default, for example:

      • <$link/> is equivalent to <$link to=<<currentTiddler>>><$view field="title"/></$link>
      • <$link to="HelloThere"/> is equivalent to <$link to="HelloThere">HelloThere</$link>
      AttributeDescription
      toThe title of the target tiddler for the link (defaults to the current tiddler)
      aria-labelOptional accessibility label
      tooltipOptional tooltip WikiText
      tabindexOptional numeric tabindex
      draggable"yes" to enable the link to be draggable (defaults to "yes")
      tagOptional tag to override the default "a" element
      classOptional CSS classes in addition to the default classes (see below)
      overrideClass New in: 5.1.16 Optional CSS classes instead of the default classes

      The draggable functionality is equivalent to using the DraggableWidget with the tiddler attribute set to the link target.

      The default value of the tooltip attribute is supplied by the tv-wikilink-tooltip variable.

      This means that you can control the text of a link tooltip in several ways:

      <$link to="HelloThere" tooltip="Custom tooltip">Link 1</$link>
      
      <$link to="HelloThere" tooltip="Another tooltip">{{$:/core/icon}}</$link>
      
      <$set name="tv-wikilink-tooltip" value="I'm a link to {{!!title}}">
      <$link to="HelloThere">Link 2</$link>
      </$set>
      

      Renders as:

      Link 1

      Link 2

      Note that the tooltip is rendered with the current tiddler set to the target of the link.

      A useful convention is to set the tooltip like this:

      \define tv-wikilink-tooltip()
      <$transclude field="tooltip"><$transclude field="title"/></$transclude>
      \end

      This causes the tooltip to be the tooltip field of the target tiddler. If the field isn't present, then the title is used instead.

      CSS Classes

      The link widget automatically determines and applies the following classes to links:

      • tc-tiddlylink - applied to all links
      • tc-tiddlylink-external - applied to external, non-tiddler links
      • tc-tiddlylink-internal - applied to tiddler links
      • tc-tiddlylink-missing - applied to tiddler links where the target tiddler doesn't exist
      • tc-tiddlylink-resolves - applied to tiddler links when the target tiddler does exist

      Use the class attribute to specify additional css classes, or overrideClass to apply only that but not the above defaults, e.g. when used in a LinkCatcherWidget:

      *<$link class="example">Here</$link> the `example` class is added.
      *<$link overrideClass="example">Here</$link> only the `example` class applies.
      *<$link overrideClass="">Here</$link> no class is set.

      Este es su aspecto:

      • Here the example class is added.
      • Here only the example class applies.
      • Here no class is set.

      href generation

      The following process is used to generate the href attribute of the generated HTML <a> element:

      1. If tv-get-export-link is defined it is invoked to convert the target tiddler title to the href value
      2. New in: 5.1.15 If tv-filter-export-link is defined it is interpreted as a filter that converts the target tiddler title to the href value
      3. If tv-wikilink-template is defined it is treated as a specialised macro body that can perform limited conversion of the target tiddler title to the href value
      4. Otherwise, the target tiddler title is URI encoded to create the href

      Configuration variables

      list Operator

       15 noviembre 2021 a las 9:23
      purposeselect titles via a list field
      inputignored
      ! inputa selection of titles
      parameterR = a reference to a field or property of a particular tiddler
      outputthe titles stored as a title list at R
      ! outputthose input titles that are not mentioned at R

      Learn more about how to use Filters

      R can reference either a field or a property. See TextReference for the syntax.

      • If neither is specified, the list field is used by default. So [list[T]] outputs the titles listed in the list field of tiddler T.
      • If R consists of only a field or a property, the tiddler part of the reference defaults to the current tiddler. So [list[!!tags]] outputs the titles listed in the tags field of the current tiddler.

      Examples

      list Operator (Examples)

       23 enero 2015 a las 21:44

      These examples make use of the Days of the Week tiddler.

      [list[HelloThere]]

      [list[Days of the Week!!short]]

      list-links Macro

       5 noviembre 2022 a las 9:08

      The list-links macro returns a formatted list of links to a selection of tiddlers.

      If a tiddler has a caption field, this is shown instead of the tiddler's title. If the caption field is empty, a blank entry is shown.

      Note: Each first step of a filter run not given any input titles receives the output of [all[tiddlers]] as its input. This means all the existing non-shadow tiddlers.

      Parameters

      filter
      A filter selecting which tiddlers to include
      field
      The name of the field to transclude for each list item, defaulting to caption
      type
      An HTML element to use for the overall list element, defaulting to ul
      subtype
      An HTML element to use for each item in the list, defaulting to li
      class
      A CSS class for the overall list element
      emptyMessage
      Optional wikitext to display if there are no tiddlers with the specified tag

      Examples

      list-links Macro (Examples)

       21 febrero 2015 a las 16:07

      This example lists all the tiddlers whose titles start with J:

      <<list-links filter:"[prefix[J]]">>

      This example lists the documentation tiddlers for the core macros, each of which has a caption field:

      <<list-links filter:"[tag[Core Macros]]">>

      list-links-draggable Macro

       14 diciembre 2021 a las 14:16

      The list-links-draggable macro renders the ListField of a tiddler as a list of links that can be reordered via drag and drop.

      Parameters

      tiddler
      The title of the tiddler containing the list
      field
      The name of the field containing the list (defaults to list)
      emptyMessage
      Optional wikitext to display if there is no output (tiddler is not existed, field is not existed or empty)
      type
      The element tag to use for the list wrapper (defaults to ul)
      subtype
      The element tag to use for the list items (defaults to li)
      class
      Optional space separated classes to add to the wrapper element
      itemTemplate
      Optional title of a tiddler to use as the template for rendering list items

      If the itemTemplate parameter is not provided then the list items are rendered as simple links. Within the itemTemplate, the currentTiddler Variable refers to the current list item.

      Examples

      list-tagged-draggable Macro

       9 enero 2018 a las 17:12

      The list-tagged-draggable macro renders the tiddlers with a particular tag as a list of links that can be reordered via drag and drop.

      Parameters

      tag
      The title of the tag
      subFilter
      An optional subfilter to filter out unwanted items (eg !tag[done])
      itemTemplate
      Optional title of a tiddler to use as the template for rendering list items
      emptyMessage
      Optional wikitext to display if there are no tiddlers with the specified tag

      Note that the ordering is accomplished by assigning a new list to the list field of the tag tiddler. Any list-before or list-after fields on any of the other tiddlers carrying the tag are also removed to ensure the list field is respected.

      If the itemTemplate parameter is not provided then the list items are rendered as simple links. Within the itemTemplate, the currentTiddler Variable refers to the current list item.

      Examples

      list-tagged-draggable Macro (Examples)

       29 marzo 2017 a las 10:33

      <<list-tagged-draggable tag:"Features">>

      list-thumbnails Macro

       12 junio 2020 a las 18:18

      The list-thumbnails macros are used to create lists of linkable thumbnail panels.

      Parameters

      filter
      filter for selecting thumbnails
      width
      Width of thumbnail (default 280 pixels)
      height
      Height of thumbnail (default 157 pixels)

      Examples

      list-thumbnails Macro (Examples)

       12 junio 2020 a las 18:14

      This example lists all the tiddlers which are tagged with "HelloThumbnail":

      <<list-thumbnails filter:"[tag[HelloThumbnail]]" width:"168" height:"95">>

      listed Operator

       3 febrero 2015 a las 18:57
      purposefind the titles that list the input titles
      inputa selection of titles
      parameterF = the name of a field, defaulting to list
      outputthe titles in which field F mentions any of the input titles

      Learn more about how to use Filters

      F is assumed to be a title list.

      Each input title is processed in turn. A list of tiddlers whose F field mentions it is generated (in no particular order) and dominantly appended to the operator's overall output.

      Examples

      listed Operator (Examples)

       23 enero 2015 a las 21:46

      [[HelloThere]listed[]]

      [all[current]listed[my-special-list]]

      ListenCommand

       1 julio 2018 a las 18:10

      New in: 5.1.18 See WebServer for details of TiddlyWiki's web server functionality.

      Sirve un wiki a través de HTTP.

      El comando listen usa parámetros con nombre:

      --listen [<name>=<value>]...

      Todos los parámetros son opcionales con valores predeterminados seguros y se pueden especificar en cualquier orden. Los parámetros reconocidos son:

      • host - nombre de host opcional desde el que servir (el valor predeterminado es "127.0.0.1" también conocido como "localhost")
      • path-prefix - prefijo opcional para rutas
      • port - número de puerto en el que escuchar; los valores no numéricos se interpretan como una variable de entorno del sistema de la que se extrae el número de puerto (el valor predeterminado es "8080")
      • credentials - nombre de ruta del archivo CSV de credenciales (relativo a la carpeta wiki)
      • anon-username - el nombre de usuario para firmar ediciones de usuarios anónimos
      • username - nombre de usuario opcional para autenticación básica
      • password - contraseña opcional para autenticación básica
      • authenticated-user-header - nombre opcional del encabezado de solicitud que se utilizará para la autenticación de confianza.
      • readers - lista separada por comas de los usuarios autorizados a leer de este wiki
      • writers - lista separada por comas de los usuarios autorizados a escribir en este wiki
      • csrf-disable - establecer a "yes" para deshabilitar las comprobaciones CSRF (el valor predeterminado es "no")
      • root-tiddler - el tiddler para servir en la raíz (por defecto es "$:/core/save/all")
      • root-render-type - el tipo de contenido del tiddler raíz (por defecto es "text/plain")
      • root-serve-type - el tipo de contenido con el que se debe servir el tiddler raíz (el valor predeterminado es "text/html")
      • tls-cert - nombre de ruta del archivo de certificado TLS (relativo a la carpeta wiki)
      • tls-key - nombre de ruta del archivo de clave TLS (relativo a la carpeta wiki)
      • debug-level - nivel de depuración opcional; establecer en "debug" para ver los detalles de las solicitudes (el valor predeterminado es "none")
      • gzip - establecer a "yes" para habilitar la compresión gzip para algunos puntos finales http (el valor predeterminado es "no")
      • use-browser-cache - establecer a "yes" para permitir que el navegador almacene en caché las respuestas para ahorrar ancho de banda (el valor predeterminado es "no")

      Para obtener información sobre cómo abrir tu instancia a toda la red local y posibles problemas de seguridad, consulta el tiddler de WebServer en TiddlyWiki.com.

      Campo "list"

       15 abril 2016 a las 5:38

      El campo list es una característica opcional que se usa para estructurar contenido. Su valor es una lista y puede usarse de varias maneras:

      • El campo list de un tiddler que se usa como etiqueta determina el orden en que se presentan los tiddlers que llevan esa etiqueta. Más detalles en Etiquetas
      • El filtro list selecciona entradas de una lista
      • El filtro listed muestra qué tiddlers incluyen un tiddler (o selección de varios tiddlers) como entradas de lista.
      • El widget Navegador manipula un StoryList que contiene un campo list de los tiddlers que se muestran en la columna principal.

      ListopsData

       8 noviembre 2015 a las 4:18
      DataIndex: 
      

      Lists in WikiText

       7 junio 2016 a las 10:31

      Bulleted Lists

      You can create bulleted (unordered) lists with * characters ():

      * First list item
      * Second list item
      ** A subitem
      * Third list item
      

      Tiene este aspecto:

      • First list item
      • Second list item
        • A subitem
      • Third list item

      ... y su código HTML es:

      <ul><li>First list item</li><li>Second list item<ul><li>A subitem</li></ul></li><li>Third list item</li></ul>

      Numbered Lists

      Numbered (ordered) lists use # instead of * ():

      1. First item
      2. Second item
      3. Third item

      You can also mix ordered and unordered list items:

      * To do today
      *# Eat
      * To get someone else to do
      *# This
      *# That
      *## And the other
      

      Tiene este aspecto:

      • To do today
        1. Eat
      • To get someone else to do
        1. This
        2. That
          1. And the other

      ... y su código HTML es:

      <ul><li>To do today<ol><li>Eat</li></ol></li><li>To get someone else to do<ol><li>This</li><li>That<ol><li>And the other</li></ol></li></ol></li></ul>

      Here's an example the other way around, with numbers as the first level:

      # To do today
      #* Eat
      # To get someone else to do
      #* This
      #* That
      #** And the other
      

      Tiene este aspecto:

      1. To do today
        • Eat
      2. To get someone else to do
        • This
        • That
          • And the other

      ... y su código HTML es:

      <ol><li>To do today<ul><li>Eat</li></ul></li><li>To get someone else to do<ul><li>This</li><li>That<ul><li>And the other</li></ul></li></ul></li></ol>

      CSS Classes

      You can also assign a CSS class to an individual member of a list with this notation:

      * List One
      *.MyClass List Two
      * List Three
      

      Tiene este aspecto:

      • List One
      • List Two
      • List Three

      ... y su código HTML es:

      <ul><li>List One</li><li class="MyClass">List Two</li><li>List Three</li></ul>

      Mixing Lists and Block Quotes

      Note that Block Quotes in WikiText can be mixed with lists. For example:

      * List One
      ** List Two
      **> A quote
      **> Another quote
      * List Three
      

      Tiene este aspecto:

      • List One
        • List Two
          A quote
          Another quote
      • List Three

      ... y su código HTML es:

      <ul><li>List One<ul><li>List Two<blockquote><div>A quote</div><div>Another quote</div></blockquote></li></ul></li><li>List Three</li></ul>

      Paragraphs in Lists

      Entries in the list are delimited with a linebreak, making it impossible to include linebreaks within a list entry. There are a couple of workarounds.

      First, you can transclude paragraph content from another tiddler. For example:

      * First entry
      * <$transclude tiddler="MyTiddler" mode="block"/>
      * Third entry

      Secondly, you can use an HTML "div" element to contain the multiline content. For example:

      # Step 1
      # Step 2
      # Step 3<div>
      
      Here is the first of several paragraphs. Note that the double linebreak preceding this paragraph is significant.
      
      And here is the second of several paragraphs.
      </div>
      # Step 4
      # Step 5
      # Step 6

      ListWidget

       7 mayo 2016 a las 5:42

      Introducción

      El ListWidget muestra una secuencia de tiddlers que coinciden con una expresión de filtro. Sirve para:

      • Mostrar listas particulares de enlaces, como en la barra lateral de TiddlyWiki5
      • Confeccionar listas a medida, como "todos aquellos tiddlers con etiqueta tarea, no etiquetados como hecha"
      • Hacer una lista de las etiquetas aplicadas a un tiddler
      • Manejar el StoryRIver principal

      Los tiddlers se muestran por transclusión, uno a uno, en una plantilla. Hay diversas maneras de especificar la plantilla, así como de controlar el comportamiento de la lista.

      Ejemplos

      lista plana: lista sin formato

      <$list filter="[tag[Contents]sort[title]]"/>

      Se muestra como:

      FirstFourthSecondThird

      custom item output

      <$list filter="[tag[Contents]sort[title]]">
      <<currentTiddler>>
      {{||$:/core/ui/ViewTemplate/subtitle}}
      
      </$list>

      Se muestra como

      First

       14 noviembre 2021 a las 1:36
      Fourth
       14 noviembre 2021 a las 1:36
      Second
       14 noviembre 2021 a las 1:36
      Third
       14 noviembre 2021 a las 1:36

      custom template output

      <$list filter="[tag[Contents]sort[title]]" template="$:/core/ui/ViewTemplate/subtitle"/>

      Se muestra como:

       14 noviembre 2021 a las 1:36
       14 noviembre 2021 a las 1:36
       14 noviembre 2021 a las 1:36
       14 noviembre 2021 a las 1:36

      Listas anidadas

      En listas anidadas se explica cómo generar listas anidadas con ListWidget.

      Contenido y atributos

      El contenido del widget <$list> es una plantilla opcional usada para representar cada tiddler de la lista. Alternativamente, puede especificarse la plantilla como título de un tiddler en el atributo template. Como alternativa, la plantilla por defecto sólo muestra el título del tiddler.

      AtributoDescripción
      filterTiddler de filtro para mostrar
      templateTítulo de la plantilla de transclusión para cada tiddler de la lista. Si no es especifica ninguna, es el propio cuerpo de ListWidget el que sirve como plantilla. The title of a template tiddler for transcluding each tiddler in the list. Sin cuerpo, sólo se muestra un enlace al tiddler.
      editTemplatePlantilla alternativa para el uso de borradores en modo edición
      variableNombre de la variable que guarda el título de cada tiddler. Por defecto, currentTiddler
      emptyMessageMensaje que se muestra si la lista está vacía
      storyviewnombre optativo del módulo responsable de animar/procesar la lista
      historyTítulo del tiddler que contiene el historial de navegación

      Modo edición

      El widget <$list>puede procesar tiddlers en borrador con una plantilla diferente. Consultar borradores

      Atributo storyview

      El atributo storyview especifica el nombre de de un módulo optativo que puede animar los cambios realizados en la lista (incluso la navegación). El núcleo incluye por defecto los siguientes módulos:

      • classic: muestra la lista como una secuencia ordenada de tiddlers
      • zooming: muestra sólo el tiddler actual con una animación de zoom al navegar entre tiddlers
      • pop: muestra los tiddlers de uno en uno, con efecto de tiddler emergente.

      Para que la animación de storyview sea correcta, cada entrada de la lista debe ser un único bloque DOM.

      Histórico y navegación

      El atributo opcional history especifica el nombre del tiddler usado para rastrear el actual, con el fin de presentar el histórico de navegación. Cuando el histórico cambia, le pide a la ListView que procese la navegación al siguiente tiddler. Véase Histórico para mayor información.

      Literal Attribute Values

       15 junio 2023 a las 5:54

      Literal attribute values can use several different styles of quoting:

      • Single quotes (eg attr='value')
      • Double quotes (eg attr="value")
      • Tripe double quotes (eg attr="""value""")
      • No quoting is necessary for values that do not contain spaces (eg attr=value)

      Literal attribute values can include line breaks. For example:

      <div data-address="Mouse House,
      Mouse Lane,
      Rodentville,
      Ratland."/>

      By using triple-double quotes you can specify attribute values that contain single double quotes. For example:

      <div data-address="""Mouse House,
      "Mouse" Lane,
      Rodentville,
      Ratland."""/>

      LoadCommand

       19 enero 2014 a las 20:15

      Carga tiddlers de archivos de tipo TiddlyWiki (.html), .tiddler, .tid, .json u otros archivos locales. El procesamiento aplicado a los archivos entrantes será determinado por la extensión del archivo. Utiliza el comando import si necesita especificar el deserializador y la codificación explícitamente.

      --load <filepath> [noerror]
      --load <dirpath> [noerror]

      De forma predeterminada, el comando load genera un error si no se encuentran tiddlers. El error se puede suprimir proporcionando el parámetro opcional "noerror".

      Para cargar tiddlers de un TiddlyWiki encriptado, primero debes especificar la contraseña con el comando PasswordCommand. Por ejemplo:

      tiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.html

      Ten en cuenta que TiddlyWiki no carga complementos o extensiones anteriores a los ya cargados.

      Locator plugin by bimlas

       6 enero 2021 a las 15:10

      For those who use many tags or store many different topics in a common wiki the Locator plugin is a table of contents widget and an enhanced search engine that gives you the opportunity to filter results by related tags. Unlike table of contents, standard search and list of tags, this plugin offers these features in an organic, collaborative way.

      https://bimlas.gitlab.io/tw5-locator/

      log Operator

       20 noviembre 2020 a las 4:14
      purposetreating each input title as a number, return its logarithm with base equal to the numeric value of the operand if specified, otherwise base e
      inputa selection of titles
      parameterN = a number
      outputthe logarithm of each input title as numbers, with base N if specified otherwise base e

      Learn more about how to use Filters

      log Operator (Examples)

       20 noviembre 2020 a las 4:20

      Logarithm of 8 with base 2:

      [[8]log[2]]

      Logarithm of 100 with base 10:

      [[100]log[10]]

      Natural logarithm of 10 (base e), equivalent to ln(10) in mathematics:

      [[10]log[]]

      LogWidget

       20 noviembre 2020 a las 15:49

      Introduction

      New in: 5.1.23 The log widget can be used to output debugging information to the JavaScript console supported by most browsers.

      For use with ActionWidgets see ActionLogWidget which uses identical parameters

      Content and Attributes

      The log widget is invisible. Any content within it is ignored. Note that the widget will log to the console both when it is first rendered and also every time it refreshes.

      When the widget is rendered, the names and values of all attributes are logged to the JavaScript console. In addition there are optional attributes that can be used:

      Optional AttributeDescription
      $$filterAll variables matching this filter will also be logged.
      $$messageA message to display as the title of the information logged. Useful when several log widgets are used in sequence.
      $$allSet to "yes" to log all variables in a collapsed table. Note that if there is nothing specified to log, all variables are always logged instead.

      Example

      Here is an example of logging two variables:

      <$log myVar=<<myVar>> otherVar=<<otherVar>>/>

      To log all variables:

      <$log />

      To log two variables as well as all core variables (which start with tv-):

      <$log myVar=<<myVar>> other={{!!status}} $$filter="[prefix[tv-]]"/>

      lookup Operator

       16 enero 2021 a las 8:13
      purposeapplies a prefix to each input title to yield the title of a tiddler from which the final value is retrieved. With a single parameter, the default field is "text" and the default index is "0". If a second parameter is provided, that becomes the target field or index.
      inputa selection of titles
      suffixD, I = the default value to be used for missing lookups. This operator can now accept a second suffix of :index, see below for details
      parameterP, T = prefix applied to input titles to yield title of lookup tiddler from which value is retrieved. Now accepts 1 or 2 parameters, see below for details
      outputthe lookup values corresponding to each lookup tiddler

      Learn more about how to use Filters

      New in: 5.1.15

      The action of this operator is as follows with 1 parameter:

      • Apply the specified prefix to each input tiddler title, yielding a new list of tiddler titles
      • Transclude the value of the text field each of those tiddlers
        • Substitute the default value for missing or empty values
      • Return the list of values

      New in: 5.2.2

      The use of the :index second suffix changes the default lookup location from field: text to index: 0. This is used if no 2nd parameter is provided.

      The action of this operator is as follows with 2 parameters:

      If there are two parameters provided, use the second parameter as the target field or index.

      Note
      If there is only one parameter given, the filter checks for a second suffix equal to "index". If this suffix is found, the default target index is "0".

      In all other cases, the default target field is "text".

      Then:

      • Apply the specified prefix to each input tiddler title, yielding a new list of tiddler titles
      • Transclude the value of the target field or index
        • Substitute the default value for missing or empty values
      • Return the list of values

      Examples

      lookup Operator (Examples)

       18 noviembre 2021 a las 2:54

      [all[shadows+tiddlers]tag[$:/tags/PageControls]lookup[$:/config/PageControlButtons/Visibility/]]
      → Retrieve the visibility status of each page control button

      [all[shadows+tiddlers]tag[$:/tags/PageControls]lookup:show[$:/config/PageControlButtons/Visibility/]]
      → Retrieve the visibility status of each page control button, this time with a default value

      [all[tiddlers]has[plugin-type]removeprefix[$:/plugins/tiddlywiki/]lookup:missing-description:field[$:/plugins/tiddlywiki/],[description]]
      → Retrieve the description of all plugin-tiddlers that are in the $:/plugins/tiddlywiki/ namespace.

      OriginalTiddlerPaths +[lookup:missing-index:index[$:/config/],[HelloThere]]
      → Lookup the original tiddler path on disk for the Hello There tiddler.

      OriginalTiddlerPaths +[lookup:missing-index:index[$:/config/],[MissingTiddler]]
      → Lookup the original tiddler path on disk for the MissingTiddler tiddler.

      HistoryList MissingHistoryList +[lookup:missing-0:index[$:/]]
      → Retrieve index 0 from the $:/HistoryList and $:/MissingHistoryList.

      OriginalTiddlerPaths MissingTiddlerPaths +[lookup:missing-tiddler:index[$:/config/],[$:/key-test]]
      → Retrieve index $:/key-test from $:/config/OriginalTiddlerPaths and $:/config/MissingTiddlerPaths.

      lowercase Operator

       19 junio 2019 a las 12:08
      purposereturns each item in the list as lowercase
      inputa selection of titles
      outputthe input titles with each uppercase letter replaced by the equivalent lowercase letter

      Learn more about how to use Filters

      lowercase Operator (Examples)

       13 junio 2019 a las 16:38

      [[Abc]lowercase[]]

      [tag[HelloThere]lowercase[]]

      Macro Call Syntax

       21 febrero 2015 a las 22:23
      What follows is a formal presentation of the syntax of the WikiText syntax for macro calls, using railroad diagrams. A simpler overview is also available.
      <<namespaceparam-value>>

      space denotes a sequence of whitespace characters.

      The macro's name is a sequence of non-whitespace characters other than ( or >.

      Each individual param-value has the following syntax:

      param-namespace:spacevaluespace

      The param-name is a sequence of letters (AZ, az), digits (09), hyphens (-) and underscores (_).

      The value is specified as follows:

      """anything but """""""anything but ""'anything but ''[[anything but ]]]anything but ' " or whitespace

      Macro Calls

       19 abril 2023 a las 11:31

      Introduction

      This tiddler describes the different ways in which macros can be called.

      Macro Call Transclusion Shortcut

      To call a macro, place <<double angle brackets>> around the name and any parameter values.

      <<mymacro param:"This is the parameter value">>

      By default, parameters are listed in the same order as in the macro's definition. A parameter can be labelled with its name and a colon to allow them to be listed in a different order.

      If no value is specified for a parameter, the default value given for that parameter in the macro definition is used instead. (If no default value was defined, the parameter is blank).

      Each parameter value can be enclosed in 'single quotes', "double quotes", """triple double quotes""" or [[double square brackets]]. Triple double quotes allow a value to contain almost anything. If a value contains no spaces or single or double quotes, it requires no delimiters.

      A more formal presentation of this syntax is also available.

      See some examples and discussion about parser modes.

      Macro Calls with $transclude Widget

      The shortcut syntax expands to the $transclude widget with the $variable attribute specifying the name of the macro to transclude.

      <$transclude $variable="mymacro" param="This is the parameter value"/>

      The widget itself offers greater flexibility than the shortcut syntax, including the ability to specify parameter values.

      Assigning Macro Calls to Attribute Values

      The result of a macro can be directly assigned to an attribute of a widget or HTML element. The result of the macro is not wikified, but the parameter substitution is performed.

      <div class=<<myclasses "Horizontal">>>
      ...
      </div>

      Using Macro Calls in Filters

      Macro calls can be used in filters:

      <$list filter="[<mymacro param:'value'>]">
      ...
      </$list>

      Macro Calls in WikiText

       17 septiembre 2022 a las 8:48

      Macro Calls in WikiText (Examples)

       21 febrero 2015 a las 22:17

      \define sayhi(name:"Bugs Bunny",address:"Rabbit Hole Hill")
      Hi, I'm $name$ and I live in $address$.
      \end
      
      <<sayhi>>
      <<sayhi Bugs>>
      <<sayhi "Donald Duck" Disneyland>>
      <<sayhi "Mickey Mouse" "Mouse House">>
      <<sayhi name:'Minnie Mouse' address:[[Mouse House]]>>
      <<sayhi address:"Quacky Towers" name:"Donald Duck">>
      <<sayhi "Mickey Mouse" """"Mouse House",
      Rodent's Lane,
      Squeaksville,
      Ratland""">>

      Macro Definition Syntax

       21 febrero 2015 a las 22:23
      What follows is a formal presentation of the syntax of the \define pragma, using railroad diagrams. A simpler overview is also available.
      \definespacenameparamsspacerest

      space denotes a sequence of whitespace characters.

      The macro's name is a sequence of non-whitespace characters other than ( or >.

      The parameter declaration list (params) has the following syntax:

      (sepparamsep)

      The parameter separator (sep) is any sequence of characters that does not match a param-name. Among other things, this includes commas, spaces and linefeeds.

      A param-name is a sequence of letters (AZ, az), digits (09), hyphens (-) and underscores (_).

      Each individual param has the following syntax:

      param-namespace:spacedefault)

      The optional default value of a parameter is specified as follows:

      """anything but """""""anything but ""'anything but ''[[anything but ]]]anything but ' " or whitespace

      The rest of the definition has the following syntax:

      snippetlfsnippetlf\endspacelf

      lf denotes a linefeed.

      The snippet is any sequence of characters that doesn't terminate the macro definition. That is to say, a single-line snippet cannot contain a linefeed, and a multi-line snippet cannot contain \end on a line of its own.

      The snippet can contain placeholders with the following syntax:

      $name$$(name)$

      Macro Definitions

       19 abril 2023 a las 11:31

      Introduction

      This tiddler describes the different ways in which macros can be defined.

      Macro Definition Pragma

      Macros are created using the Pragma: \define at the start of a tiddler. The definitions are available in the rest of the tiddler that defines them, plus any tiddlers that it transcludes.

      \define mymacro(param)
      This is the macro text (param=$param$)
      \end

      Nested Macro Definitions

      Macro definitions can be nested to any number of required levels by specifying the name of the macro in the \end marker. Nested macro definitions must appear at the start of the definition that contains them. For example:

      \define special-button(caption:"Click me")
      \define actions()
      <$action-sendmessage $message="tm-notify" $param="HelloThere"/>
      \end actions
      <$button actions=<<actions>>>
      $caption$
      </$button>
      \end special-button
      
      <<special-button>>
      

      Este es su aspecto:

      \define special-button(caption:"Click me") \define actions() \end actions \end special-button

      Note that the textual substitution of macro parameters that occurs when the outer macro is rendered will apply to the nested definitions as well. That generally means that textual substitution of macro parameters should not be used within nested macros.

      Parameters of nested macros can also be accessed via the <<__variablename__>> syntax. As ordinary variables, these parameters are available within nested child macros (and grandchildren etc).

      Macro Definition with Set Widget

      Macros are implemented as a special type of variable and so internally are actually defined with a $set widget.

      <$set name="mymacro" value="This is the macro text">
      ...
      </$set>
      Note
      that it is not currently possible to specify parameters when defining a macro with the $set widget.

      Importing Macro Definitions

      The Pragma: \import or $importvariables widget can be used to copy macro definitions from another tiddler.

      $:/tags/Macro Tag

      Global macros can be defined using the SystemTag: $:/tags/Macro.

      The tag SystemTag: $:/tags/Macro/View is used to define macros that should only be available within the main view template and the preview panel.

      The tag SystemTag: $:/tags/Macro/View/Body is used to define macros that should only be available within the main view template body and the preview panel.

      JavaScript Macros

      Macros can also be written as JavaScript modules.

      Macro Definitions in WikiText

       20 agosto 2018 a las 17:51

      Macro Parameter Handling

       19 abril 2023 a las 11:31

      Introduction

      Macros parameters are handled in two different ways:

      1. Textual substitution is always performed for each parameter before the macro contents is used
      2. When the macro contents are wikified the parameters are made available as variables. The variable names are formed by wrapping the parameter name with double underscores

      Somewhat confusingly, in some situations both of these mechanisms will occur; this is related to the pitfalls of using macros.

      Textual Substitution of Parameters and variables

      The following substitutions take place before the text of a macro is used:

      • The pattern $param$ is replaced with the value of the named parameter
      • The pattern $(variable)$ is replaced with the value of the named variable

      The actual value of the parameter or variable is substituted for the placeholder whenever the macro is called:

      \define say-hi-using-parameters(name,address)
      Hi, I'm $name$ and I live in $address$.
      \end
      
      <<say-hi-using-parameters name:"Bugs" address:"Rabbit Hole Hill">>
      

      Este es su aspecto:

      \define say-hi-using-parameters(name,address) Hi, I'm $name$ and I live in $address$. \end

      Here's an example using variable substitution:

      \define say-hi-using-variables()
      Hi, I'm  and I live in .
      \end
      
      \define name() Bugs
      
      <$let address="Rabbit Hole Hill">
      <<say-hi-using-variables>>
      </$let>
      

      Este es su aspecto:

      \define say-hi-using-variables() Hi, I'm and I live in . \end

      \define name() Bugs

      It is important to note that if the text being inserted contains any substitution tokens then they will in turn be processed. This can lead to unexpected results.

      Accessing Parameters as Variables

      When macros are wikified, the parameters can be accessed as variables with the name of the parameter wrapped with double underscores. For example, the parameter address would be accessed as the variable __address__.

      Thus, the example above could also be expressed as:

      \define say-hi-using-parameters(name,address)
      Hi, I'm <<__name__>> and I live in <<__address__>>.
      \end
      
      <<say-hi-using-parameters name:"Bugs" address:"Rabbit Hole Hill">>
      

      Este es su aspecto:

      \define say-hi-using-parameters(name,address) Hi, I'm and I live in . \end

      Accessing parameters as variables only works in macros that are wikified and not, for example, when a macro is used as an attribute value.

      Advantages of Accessing Parameters as Variables

      The primary advantage of the technique is that it avoids the parameter value being substituted into the macro as a literal string, which in turn can help avoid issues with parameters that contain quotes.

      For example, consider this macro. It invokes another macro using the single parameter as an argument for it:

      \define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line="""$line$"""/>

      The code above will fail if the macro is invoked with the argument containing triple double quotes (for example <<film-quote 'I quote thrice """ - see!?'>>). Using parameter variables offers a workaround:

      \define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line=<<__line__>>/>

      See Macro Pitfalls for more discussion.

      Macro Pitfalls

       19 abril 2023 a las 11:31

      Introduction

      In the early days of TiddlyWiki, macros were the best way of encapsulating snippets for reuse, and so they were used extensively. However, they have always suffered from some significant disadvantages that can give rise to errors and poor performance.

      New in: 5.3.0 Macros have been joined by Procedures, Custom Widgets and Functions which together provide more robust and flexible ways to encapsulate and re-use code. It is now recommended to only use macros when textual substitution is specifically required.

      Shortcomings of Textual Substitution

      TiddlyWiki's handling of macro parameters is based on "textual substitution" which means that the string values of the parameters provided when calling a macro are plugged into the macro definition before it is wikified.

      Here's a typical example of the approach in early versions of TiddlyWiki 5. The intention is to provide a macro that takes a single parameter of the title of the tiddler to view:

      \define mymacro(title)
      <$codeblock code={{$title$}}/>
      \end

      That works for simple cases like <<mymacro "HelloThere">> but is subtly brittle. For example, the macro above would fail with tiddler titles containing double closing curly braces. Trying to use it with the title foo}}bar would lead to the macro being expanded to the following invalid syntax:

      <$codeblock code={{foo}}bar}}/>

      As a result of this issue, for many years the TiddlyWiki 5 user interface failed if a variety of combinations of special characters were encountered in tiddler titles.

      This issue has been mitigated over the years, particularly by providing access to the macro parameters as variables. However, for backwards compatibility, this was done without affecting the existing syntax, which required us to adopt the clumsy protocol of wrapping the parameter name in double underscores to get the name of the corresponding variable.

      Performance of Global Macros

      Global Macro Definitions defined with the SystemTag: $:/tags/Macro suffer from poor performance because every macro has to be parsed regardless of whether it is actually used.

      Furthermore, the way that definitions are imported means that updating a tiddler tagged SystemTag: $:/tags/Macro will cause the entire page to be refreshed.

      Macro Syntax

       27 febrero 2015 a las 19:31

      MacroCallWidget

       19 abril 2023 a las 11:31

      Deprecated since: 5.3.0 (see TranscludeWidget)

      The $macrocall widget is deprecated. While it will continue to work, users are now advised to use the $transclude widget, converting the $name attribute to $variable.

      For example,

      <$macrocall $name="my-macro" my-parameter="Elephant"/>

      should be changed to:

      <$transclude $variable="my-macro" my-parameter="Elephant"/>

      Internally, the $macrocall widget is implemented via the $transclude widget.

      Content and Attributes

      The content of the $macrocall widget is ignored.

      AttributeDescription
      $nameName of the macro to invoke
      $typeContentType with which the macro text should be parsed (defaults to text/vnd.tiddlywiki)
      $outputContentType for the output rendering (defaults to text/html, can also be text/plain or text/raw)
      parametersMacro parameters specified as attributes

      Macros

       19 abril 2023 a las 11:31

      Introduction

      A macro is a named snippet of text. They are typically defined with the Pragma: \define:

      \define my-macro(parameter:"Default value")
      This is the macro, and the parameter is $parameter$.
      \end

      The name wrapped in double angled brackets is used a shorthand way of transcluding the snippet. Such transclusions are known as macro calls, and each call can supply a different set of parameters:

      <<my-macro>>
      <<my-macro "The parameter">>

      The parameters that are specified in the macro call are substituted for special placeholders within the snippet:

      • $parameter-name$ is replaced with the value of the named parameter
      • $(variable-name)$ is replaced with the value of the named variable).

      New in: 5.3.0 Macros have been superseded by Procedures, Custom Widgets and Functions which together provide more robust and flexible ways to encapsulate and re-use code. It is now recommended to only use macros when textual substitution is specifically required.

      How Macros Work

      Macros are implemented as a special kind of variable. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.

      Using Macros

      Macros in WikiText

       21 febrero 2015 a las 9:40

      See Macros.

      Hacer las camas

       3 junio 2016 a las 16:27

      Tarea de muestra para el Ejemplo de administración de tareas

      makedatauri Macro

       30 marzo 2020 a las 11:53

      The makedatauri macro takes a piece of text and an associated ContentType, and returns a corresponding data URI.

      makedatauri is used to implement the datauri macro.

      Parameters

      text
      The text to be converted to a data URI
      type
      The ContentType of the text
      _canonical_uri
      The optional _canonical_uri address of the content

      Examples

      makedatauri Macro (Examples)

       21 febrero 2015 a las 22:36

      <<makedatauri "some example text" "text/plain">>

      MakeLibraryCommand

       3 septiembre 2014 a las 9:52

      Construye el tiddler $:/UpgradeLibrary: librería de actualización La librería de actualización tiene formato de plugin ordinario, de tipo library. Contiene copia de cada uno de los plugins, temas y paquetes de idioma disponibles en el repositorio de TiddlyWiki5

      Este comando es, en principio, para uso interno del equipo de TiddlyWiki y sólo es de interés para aquellos usuarios que deseen compilar actualizaciones personalizadas

      --makelibrary <title>

      El título por defecto del tiddler resultante es $:/UpgradeLibrary.

      See the UpgradeMechanism for more details.

      makepatches and applypatches Operator (Examples)

       4 marzo 2023 a las 16:03

      These examples use the example texts in Hamlet, taken from https://neil.fraser.name/software/diff_match_patch/demos/patch.html

      Shakespeare's originalHamlet: Do you see yonder cloud that's almost in shape of a camel? Polonius: By the mass, and 'tis like a camel, indeed. Hamlet: Methinks it is like a weasel. Polonius: It is backed like a weasel. Hamlet: Or like a whale? Polonius: Very like a whale. – Shakespeare
      Modern EnglishHamlet: Do you see the cloud over there that's almost the shape of a camel? Polonius: By golly, it is like a camel, indeed. Hamlet: I think it looks like a weasel. Polonius: It is shaped like a weasel. Hamlet: Or like a whale? Polonius: It's totally like a whale. – Shakespeare
      Trekkie's CopyKirk: Do you see yonder cloud that's almost in shape of a Klingon? Spock: By the mass, and 'tis like a Klingon, indeed. Kirk: Methinks it is like a Vulcan. Spock: It is backed like a Vulcan. Kirk: Or like a Romulan? Spock: Very like a Romulan. – Trekkie

      Use makepatches to generate the set of patches to transform Shakepeare's original into Modern English:

      [{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}]

      Use applypatches to apply the patches to Shakespeare's original text:

      [{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Shakespeare-old}applypatches<currentTiddler>]

      In the above example, the Map Filter Run Prefix is used to pass the patches information as a parameter to applypatches. Inside :map, currentTiddler is set to the input title (i.e. the previously generated patches).

      The patch information from the Shakepeare texts can also be used to transform the Trekkie's Copy to a Modern English version:

      [{Hamlet##Shakespeare-old}makepatches{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]

      The above examples used the character mode of makepatches. The word mode yields very similar results in this case, even when applied to the Trekkie's Copy.

      [{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}]

      [{Hamlet##Shakespeare-old}makepatches:words{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]

      The lines mode doesn't work as well in this application:

      [{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}]

      [{Hamlet##Shakespeare-old}makepatches:lines{Hamlet##Shakespeare-new}] :map[{Hamlet##Trekkie-old}applypatches<currentTiddler>]

      It is better suited as a very fast algorithm to detect line-wise incremental changes to texts and store only the changes instead of multiple versions of the whole texts.

      makepatches Operator

       4 marzo 2023 a las 12:24
      purposereturns a set of patches that transform the input to a given string
      inputa selection of titles
      suffixT = lines to operate in line mode, words to operate in word mode. If omitted (default), the algorithm operates in character mode. See notes below.
      parameterS = a string of characters
      outputa set of patch instructions per input title to be used by the applypatches Operator to transform the input title(s) into the string S

      Learn more about how to use Filters

      New in: 5.2.6

      The difference algorithm operates in character mode by default. This produces the most detailed diff possible. In words mode, each word in the input text is transformed into a meta-character, upon which the algorithm then operates. In the default character mode, the filter would find two patches between "ActionWidget" and "Action-Widgets" (the hyphen and the plural s), while in words mode, the whole word is found to be changed. In lines mode, the meta-character is formed from the whole line, delimited by newline characters, and is found to be changed independent of the number of changes within the line.

      The different modes influence the result when the patches are applied to texts other than the original, as well as the runtime.

      The calculation in words mode is roughly 10 times faster than the default character mode, while lines mode can be more than 100 times faster than the default.

      Examples

      Making a custom journal button

       14 noviembre 2017 a las 21:58

      To get your own custom Journal button, start by cloning the New Journal button.

      Then create your own config tiddlers, eg:

      • $:/config/myNewTiddler/Tags and ...
      • $:/config/myNewTiddler/Title and ...
      • $:/config/myNewTiddler/Text

      Edit your custom button and "search and replace" the config tiddler names.

      Change the following lines, near the end of the tiddler from

      <$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
      <$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
      <$set name="journalText" value={{$:/config/NewJournal/Text}}>

      to

      <$set name="journalTitleTemplate" value={{$:/config/myNewTiddler/Title}}>
      <$set name="journalTags" value={{$:/config/myNewTiddler/Tags}}>
      <$set name="journalText" value={{$:/config/myNewTiddler/Text}}>

      if you want to see your config tiddlers in the sidebar use:

      <$set name="journalTitleTemplate" value={{config/myNewTiddler/Title}}>
      <$set name="journalTags" value={{config/myNewTiddler/Tags}}>
      <$set name="journalText" value={{config/myNewTiddler/Text}}>

      Cómo haer textos curvos con SVG

       18 abril 2016 a las 5:56

      Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.

      Este es el código:

      \define textOnPath(text)
      $$$.svg
      <svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
      <defs>
      <path id="MyPath" d="M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
      </defs>
      <use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
      <text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
      <textPath xlink:href="#MyPath">
      $text$
      </textPath>
      </text>
      </svg>
      $$$
      \end

      Cómo instalar manualmente un plugin

       4 mayo 2016 a las 16:57
      1. Sólo por si acaso, haz copia de seguridad de tu archivo HTML de TiddlyWiki
      2. Abre TiddlyWiki en el navegador
      3. En otra ventana del navegador, busca un enlace al plugin que quieres instalar en la página que lo contiene, p. ej., el enlace $:/plugins/tiddlywiki/katex en https://tiddlywiki.com/plugins/tiddlywiki/katex/)
      4. Arrastra el enlace hasta tu página. Aparecerá una banda de color verde en la parte superior de la pantalla.
      5. Suelta el enlace y aparecerá el tiddler de importación que te mostrará el título del tiddler que acabas de arrastrar. Confirma la importación con el botón.
      6. Guarda los cambios con el botón Guardar cambios
      7. Recarga la página
      8. El plugin está instalado y listo para su uso

      Map Filter Run Prefix

       20 julio 2022 a las 20:01

      New in: 5.2.0

      purposemodify input titles by the result of evaluating this filter run for each item
      inputall titles from previous filter runs
      suffix New in: 5.2.3 flat to return all results from the filter run, If omitted (default), only the first result is returned.
      outputthe input titles as modified by the result of this filter run

      Each input title from previous runs is passed to this run in turn. The filter run transforms the input titles and the output of this run replaces the input title. For example, the filter run [get[caption]else{!!title}] replaces each input title with its caption field, unless the field does not exist in which case the title is preserved.

      Note that within the filter run, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits filter runs like :map[{!!price}multiply{!!cost}] to be used for computation. The value of currentTiddler outside the run is available in the variable "..currentTiddler".

      The following variables are available within the filter run:

      • currentTiddler - the input title
      • ..currentTiddler - the value of the variable currentTiddler outside the filter run.
      • index - New in: 5.2.1 the numeric index of the current list item (with zero being the first item in the list).
      • revIndex - New in: 5.2.1 the reverse numeric index of the current list item (with zero being the last item in the list).
      • length - New in: 5.2.1 the total length of the input list.

      Filter runs used with the :map prefix should return at least the same number of items that they are passed. Any missing entries will be treated as an empty string. In particular, when retrieving the value of a field with the get Operator it is helpful to guard against a missing field value using the else Operator. For example [get[myfield]else[default-value]....

      Examples

      Map Filter Run Prefix (Examples)

       24 julio 2022 a las 17:23

      Replace the input titles with the caption field if it exists, otherwise preserve the input title:

      [tag[Widgets]] :map[get[caption]else{!!title}]

      The above example is equivalent to [tag[Widgets]] :map[{!!caption}!is[blank]else{!!title}]. Note that referencing a field as a text reference such as {!!caption} returns an empty string for a non-existent or empty caption field. Therefore a check for is[blank] is needed before the else operator

      For each title in a shopping list, calculate the total cost of purchasing each item:

      [tag[shopping]] :map[get[quantity]else[0]multiply{!!price}]

      Get the tags of all tiddlers tagged Widget:

      [tag[Widgets]] :map:flat[tagging[]] :and[!is[blank]unique[]]

      Without the flat suffix the :map filter run only returns the first result for each input title

      Comparison between :map with and without the flat suffix

      The :map filter run will return at least as many outputs as given in the input. By default one input item will result in exactly one output item. When the filter run transforms an input item into an empty result, the output for that item will be an empty string. When the filter run transforms an input item into multiple items, only the first item will appear in the output. This behavior can be overridden by providing the flat suffix. The flat suffix will cause all the items to appear in the output.

      :map:map:flat
      [range[4]] :map[match[this matches nothing]]
      [range[4]] :map:flat[match[this matches nothing]]
      [range[4]] :map[range<currentTiddler>]
      [range[4]] :map:flat[range<currentTiddler>]
      [range[4]] :map[range<currentTiddler>]
      [range[4]] :map:flat[range<currentTiddler>first[]]
      [range[4]] :map[range<currentTiddler>sum[]]
      [range[4]] :map:flat[range<currentTiddler>sum[]]
      [[1,2,3]] [[4,5]] :map[split[,]]
      [[1,2,3]] [[4,5]] :map:flat[split[,]]
      [[1,2,3]] [[4,5]] :map[split[,]]
      [[1,2,3]] [[4,5]] :map:flat[split[,]first[]]

      Comparison between :map and :and/+ filter run prefixes

      The functionality of the :map filter run prefix has some overlap with the :and prefix (alias +). They will sometimes return the same results as each other. In at least these cases, the results will be different:

      1. The :and filter run can modify the number of items (either increase or decrease). The :map run will never alter the number of items.
      2. The number of items in the :and filter run will also decrease due to de-duplication. The :map run will not de-duplicate.
      3. Explicit references to the "currentTiddler" variable will behave differently
      4. Implicit references to the "currentTiddler" using TextReference will behave differently.
      :map:and
      results are the same
      [range[5]] :map[add[1]]
      [range[5]] :and[add[1]]
      [range[5]] :map[addsuffix[ hello]]
      [range[5]] :and[addsuffix[ hello]]
      [tag[shopping]] :map[get[quantity]]
      [tag[shopping]] :and[get[quantity]]
      decrease in the number of items
      [range[5]] :map[sum[]]
      [range[5]] :and[sum[]]
      [range[5]] :map[join[,]]
      [range[5]] :and[join[,]]
      increase in the number of items
      [[1,2,3]] [[4,5]] :map[split[,]]
      [[1,2,3]] [[4,5]] :and[split[,]]
      de-duplication
      [range[5]] :map[[hello]]
      [range[5]] :and[[hello]]
      currentTiddler
      [tag[shopping]] :map[<currentTiddler>]
      [tag[shopping]] :and[<currentTiddler>]
      [tag[shopping]] :map[{!!quantity}]
      [tag[shopping]] :and[{!!quantity}]

      Markdown

       28 julio 2022 a las 20:16

      Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).

      https://daringfireball.net/projects/markdown/

      TiddlyWiki and Markdown share some formatting rules eg: inline code and code blocks but WikiText also offers advanced functions like transclusions and macros

      Markdown

       4 mayo 2016 a las 6:28

      Para uso con el lenguaje de marcado Markdown, en lugar de WikiText.

      Disponible https://tiddlywiki.com/plugins/tiddlywiki/markdown/

      match Operator

       31 julio 2019 a las 9:10
      purposereturns each item in the list that matches the operand string
      inputa selection of titles
      suffixthe match operator uses a rich suffix, see below for details
      parameterthe string to be matched
      outputeach item in the input list that matches the operand string (potentially including duplicates)
      ! outputeach item in the input list that does not match the operand string

      Learn more about how to use Filters

      New in: 5.1.20

      The match operator uses an extended syntax that permits multiple flags to be passed:

      [match:<flag list>[<operand>]]
      • flag list: a comma delimited list of flags
      • operand: filter operand

      The available flags are:

      • casesensitive: (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different
      • caseinsensitive: overrides the default so that upper and lower case letters are considered identical for matching purposes

      Examples

      match Operator (Examples)

       31 julio 2019 a las 9:04

      a b c +[match[b]]

      [match[HelloThere]]

      Mathematics Operators

       30 marzo 2022 a las 14:37

      New in: 5.1.20The mathematics filter operators allow numerical calculations to be performed within filters.

      Using mathematics operators

      The mathematics operators interpret their arguments as numbers according to the following rules:

      • Any non-numeric characters after a valid number are ignored (e.g. 28px is interpreted as the number 28)
      • If the argument cannot be interpreted as a number, the value 0 is used (e.g. foo is interpreted as the number 0)
      • The special values Infinity and -Infinity can be used to represent positive and negative infinity respectively

      Some filter operators remove duplicate items which can cause unexpected results when using the mathematics operators. See Dominant Append for details.

      The mathematics operators take three different forms:

      • Unary operators apply an operation to each number in the input list (e.g. negate, truncate, sign)
        • =1 =2 =3 =4 +[negate[]] evaluates to -1 -2 -3 -4
        • =1.2 =2.4 =3.6 =4.8 +[trunc[]] evaluates to 1 2 3 4
        • =1.2 =2.4 =3.6 =4.8 +[round[]] evaluates to 1 2 4 5
      • Binary operators apply an operation and operand to each number in the input list (e.g. add, multiply, remainder)
        • =1 =2 =3 =4 +[add[3]] evaluates to 4 5 6 7
        • =1 =2 =3 =4 +[multiply[8]] evaluates to 8 16 24 32
      • Reducing operators apply an operation to all of the numbers in the input list, returning a single result (e.g. sum, product)
        • =1 =2 =3 =4 +[sum[]] evaluates to 10
        • =1 =2 =3 =4 +[product[]] evaluates to 24
        • =1 =2 =3 =4 +[average[]] evaluates to 2.5

      Operations Combination

      Operations can be combined by concatenating them while merging the inner ][ characters.

      • [[355]divide[113]fixed[5]] evaluates to 3.14159
      • [range[100]sum[]divide[100]] evaluates to 50.5
      • [tag[HelloThere]get[text]length[]sum[]] evaluates to 12013

      Complex operations will sometimes need to be split up into separate filters. For example, to compute the average length of the text field of tiddlers tagged "HelloThere":

      <$set name="number-of-tiddlers" value={{{ [tag[HelloThere]count[]] }}}>
      Average length of <$text text=<<number-of-tiddlers>>/> tiddlers tagged <<tag "HelloThere">>: <$text text={{{ [tag[HelloThere]get[text]length[]sum[]divide<number-of-tiddlers>fixed[3]] }}}/>
      </$set>

      Este es su aspecto:

      Average length of 8 tiddlers tagged : 1501.625

      Mathematics Operators list

      Operator Purpose
      abs calculate the absolute value of a list of numbers
      acos calculate the arccosine value (in radians) of a list of numbers
      add treating each input title as a number, add to each the numeric value of the operand
      asin calculate the arcsine value (in radians) of a list of numbers
      atan calculate the arctangent value (in radians) of a list of numbers
      atan2 returns the angle in the plane (in radians) between the positive x-axis and the ray from (0,0) to the point (x,y), for [Y]atan2[X]
      average treating each input title as a number, compute their arithmetic mean
      ceil rounds a list of numbers up to the next largest integer
      compare filter the input by comparing each item against the operand
      cos calculate the cosine value of a list of angles (given in radians)
      divide treating each input title as a number, divide them by the numeric value of the operand
      exponential convert each number to exponential notation with N digits
      fixed convert each number to fixed point notation with N digits after the decimal point
      floor rounds a list of numbers to the largest integer less than or equal to each number
      log treating each input title as a number, return its logarithm with base equal to the numeric value of the operand if specified, otherwise base e
      max treating each input title as a number, take the maximum of its value and the numeric value of the operand
      maxall find the largest of a list of numbers
      median treating each input title as a number, compute their median value
      min treating each input title as a number, take the minimum of its value and the numeric value of the operand
      minall find the smallest of a list of numbers
      multiply treating each input title as a number, multiply it by the numeric value of the operand
      negate calculate the negation of a list of numbers
      power treating each input title as a number, raise it to the power of the numeric value of the operand
      precision convert each number to a string with N significant digits
      product produce the product of the input numbers
      remainder treating each input title as a number, return the remainder when divided by the numeric value of the operand
      round rounds a list of numbers to the nearest integer
      sign return -1, 0 or 1 for a list of numbers according to whether each number is negative, zero, or positive
      sin calculate the sine value of a list of angles (given in radians)
      standard-deviation treating each input title as a number, compute their standard-deviation
      subtract treating each input title as a number, subtract from each the numeric value of the operand
      sum produce the sum of the input numbers
      tan calculate the tangent value of a list of angles (given in radians)
      trunc truncates a list of numbers to their integer part, removing any fractional part
      untrunc rounds a list of numbers to the next integer with largest absolute value, that is, away from zero
      variance treating each input title as a number, compute their variance

      MathJax Plugin by Martin Kantor

       6 enero 2021 a las 15:10

      An experimental MathJax plugin for TiddlyWiki version 5. As Martin says, the implementation is a bit of a hack but may be useful until we have a better alternative.

      http://mathjax-tw5.kantorsite.net

      Welcome. I have created plugin for TiddlyWiki 5 which allows you to use MathJax (math in TeX and MathML) inside TiddlyWiki 5. It's unofficial plugin and it doesn't follow general policy of TiddlyWiki as stand-alone solution but it works. So you can use it if you want.

      MathML

       29 abril 2016 a las 6:25

      MathML es un lenguaje de marcas para notación matemática que puede usarse en HTML.

      Si tu navegador lo soporta, los elementos de MathML pueden usarse en WikiText como HTML.

      Este es un ejemplo de matriz MathML sacado de W3C:

      <math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>

      Y se ve así:

      [010001100]

      max Operator

       11 junio 2019 a las 14:10
      purposetreating each input title as a number, take the maximum of its value and the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, with any that are less than N being replaced by N

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      See also the min Operator, and compare with the maxall Operator and the minall Operator.

      Examples

      max Operator (Examples)

       11 junio 2019 a las 14:09

      [[23]max[32]]

      =1 =2 =3 =4 +[max[3]]

      maxall Operator

       11 junio 2019 a las 17:09
      purposefind the largest of a list of numbers
      inputa selection of titles
      outputthe largest of the input numbers

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      See also the minall Operator, and compare with the max Operator and the min Operator.

      Examples

      maxall Operator (Examples)

       11 junio 2019 a las 17:10

      =1 =2 =3 =4 =5 +[maxall[]]

      [tag[HelloThere]get[text]length[]maxall[]]

      Mechanisms

       10 septiembre 2014 a las 22:17

      median Operator

       26 abril 2021 a las 14:15
      purposetreating each input title as a number, compute their median value
      inputa selection of titles
      outputthe median of the input numbers

      Learn more about how to use Filters

      median Operator (Examples)

       26 abril 2021 a las 14:15

      =1 =3 =4 =5 +[median[]]

      Note that if there is no input the operator returns NaN

      [title[NotATiddler]get[price]] +[median[]]

      Eventos

       13 abril 2016 a las 17:29

      Reuniones presenciales que los entusiastas de TiddlyWiki celebran en todo el mundo:

      • OXTWIG, el Oxford TiddlyWiki Interest Group se reúne mensualmente en Oxford, Gran Bretaña, para compartir experiencias de uso de TiddlyWiki
      • TiddlyWiki Camp Paris es un evento de un día de celebración y exploración de TiddlyWiki, tanto para usuarios expertos, como para principiantes.

      Si tú también compartes nuestro entusiasmo por TiddlyWiki, anímate a organizar un TWIG local en tu ciudad. Es una manera magnífica de promover el uso y el interés por TiddlyWiki

      MessageCatcherWidget

       22 diciembre 2021 a las 15:30

      Introduction

      New in: 5.2.0

      The message catcher widget traps messages dispatched within its child content, and allows invoking a series of ActionWidgets in response to those messages.

      Content and Attributes

      The content of the <$messagecatcher> widget is displayed normally.

      AttributeDescription
      {any attributes starting with $}Each attribute name (excluding the $) specifies the name of a message, and the value specifies the action string to be invoked
      typeName of the message be trapped, for example "tm-scroll" or "tm-navigate". The type and actions attributes can be useful when the type of event needs to be specified via a variable or text reference
      actionsAction string to be invoked when a matching message is trapped. Must be used in conjunction with the type attribute

      Variables

      The message catcher widget sets the following variables within each action string:

      VariablesDescription
      event-*All string-based properties of the event object, with the names prefixed with event-
      list-eventA list of the names of each the string-based properties of the event object (the names are not prefixed with event-)
      event-paramObject-*All string-based properties of the event.paramObject object, with the names prefixed with event-paramObject-
      list-event-paramObjectA list of the names of each the string-based properties of the event.paramObject object (the names are not prefixed with event-paramObject-)
      modifierFor messages that originated with browser events, the modifier keys that were pressed when the event was fired. The possible modifiers are normal (no modifiers), ctrl, ctrl-alt, ctrl-shift, alt, alt-shift, shift and ctrl-alt-shift

      Example

      
      \define actions()
      <$action-log/>
      \end
      
      <$messagecatcher $tm-navigate=<<actions>>>
      
      Click on [[this link]] to fire an action. See the browser JavaScript console for the output
      
      </$messagecatcher>
      

      Este es su aspecto:

      \define actions() \end

      Click on this link to fire an action. See the browser JavaScript console for the output

      MessageHandlerWidgets

       13 noviembre 2021 a las 16:38

      Message handler widgets are those widgets which can react to one or more widget messages.

      Widget messages are similar to low-level DOM events, except they are higher-level and specific to TiddlyWiki. To handle DOM events see the EventCatcherWidget

      The following message handler widgets are provided:

      Mensajes

       16 abril 2016 a las 6:12

      Milk

       6 octubre 2020 a las 19:12

      This is a sample shopping list item for the Shopping List Example

      min Operator

       11 junio 2019 a las 14:11
      purposetreating each input title as a number, take the minimum of its value and the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, with any that are greater than N being replaced by N

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      See also the max Operator, and compare with the maxall Operator and the minall Operator.

      Examples

      min Operator (Examples)

       11 junio 2019 a las 14:11

      [[23]min[32]]

      =1 =2 =3 =4 +[min[3]]

      minall Operator

       11 junio 2019 a las 17:10
      purposefind the smallest of a list of numbers
      inputa selection of titles
      outputthe smallest of the input numbers

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      See also the maxall Operator, and compare with the max Operator and the min Operator.

      Examples

      minall Operator (Examples)

       11 junio 2019 a las 17:11

      =1 =2 =3 =4 =5 +[minall[]]

      [tag[HelloThere]get[text]length[]minall[]]

      minlength Operator

       11 octubre 2016 a las 8:42
      purposefilter items shorter than the specified minimum length
      inputa list of items
      parameterminlength = the minimum length for items
      outputthose items at least as long as the specified minimum length

      Learn more about how to use Filters

      New in: 5.1.14

      minlength Operator (Examples)

       11 octubre 2016 a las 8:42

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]minlength[7]]

      [list[Days of the Week]minlength[1]]

      MiSubHistoria

       18 abril 2016 a las 5:23
      [
          {
              "title": "HelloThere",
              "fromPageRect": {
                  "top": 494.26666259765625,
                  "left": 1022.3333129882812,
                  "width": 79,
                  "right": 1101.3333129882812,
                  "bottom": 511.26666259765625,
                  "height": 17
              }
          }
      ]

      Mobile Drag And Drop Shim Plugin

       28 marzo 2017 a las 18:43

      The Mobile Drag And Drop Shim Plugin provides a "shim" that enables HTML 5 compatible drag and drop operations on mobile browsers, including iOS and Android. The shim was created by Tim Ruffles and is published at https://github.com/timruffles/ios-html5-drag-drop-shim.

      Diálogos modales

       29 abril 2016 a las 6:37

      Los diálogos modales (o "asistentes" difuminan la ventana principal de TiddlyWiki para mostrar un tiddler aislado que el usuario tiene que atender explícitamente.

      Los modales se muestran mediante el mensaje tm-modal.

      modifier Variable

       14 abril 2022 a las 17:28

      Within the action string of the DroppableWidget, the startactions and endactions of the DraggableWidget, the action string of the ButtonWidget and the action string of the LinkCatcherWidget and the EventCatcherWidget, the modifier variable contains the modifier key(s) held during the drag, click or other event. Possible key combinations are listed in the table below.

      The variable contains a string that identifies the keys:

      Modifier KeyVariable Content
      metameta
      ctrlctrl
      altalt
      shiftshift
      meta+shiftmeta-shift
      meta+ctrlmeta-ctrl
      meta+altmeta-alt
      ctrl+shiftctrl-shift
      alt+shiftalt-shift
      ctrl+altctrl-alt
      meta+ctrl+shiftmeta-ctrl-shift
      meta+ctrl+altmeta-ctrl-alt
      meta+alt+shiftmeta-alt-shift
      ctrl+alt+shiftctrl-alt-shift
      meta+ctrl+alt+shiftmeta-ctrl-alt-shift
      no modifier (normal click / drag)normal

      Some operating systems may intercept the meta key so it is never detected

      Modifier keys held while clicking the button above:

      Modifying JSON tiddlers

       27 abril 2022 a las 18:17

      See JSON in TiddlyWiki for an overview of using JSON in TiddlyWiki.

      Note that

      Using ActionSetFieldWidget and ActionListopsWidget

      The widgets ActionSetFieldWidget and ActionListopsWidget can manipulate named properties of data tiddlers by indicating the name of the property in the $index attribute.

      ActionListopsWidget assigns the named property the list constructed through its $filter and $subfilter attributes.

      moduleproperty Operator

       19 septiembre 2021 a las 21:13
      purposeretrieve a module property
      inputa selection of modules
      parametermodule property to retrieve
      outputthe value of the module property as specified in the operand

      Learn more about how to use Filters

      moduleproperty Operator (Examples)

       19 septiembre 2021 a las 21:17

      Get the name of the macro in the module $:/core/modules/macros/qualify.js:

      [[$:/core/modules/macros/qualify.js]moduleproperty[name]]

      For all macro modules retrieve their name module properties:

      [[macro]modules[]moduleproperty[name]]

      Modules

       10 junio 2016 a las 9:22

      A module in TiddlyWiki5 is a tiddler containing executable JavaScript, of the type application/javascript and with the field module-type set to the ModuleType of the module.

      See control panel > Info > Advanced > Loaded Modules for a list of currently loaded modules.

      modules Operator

       19 septiembre 2021 a las 21:11
      purposeselect the names of all modules of the input module types
      inputa selection of module types
      parameternone
      outputthe title of each module with any of the input types

      Learn more about how to use Filters

      New in: 5.2.0The modules filter allows two optional operands. When both are specified, it returns the modules with the module property specified in the first operand which has the value in the second operand.

      Examples

      modules Operator (Examples)

       19 septiembre 2021 a las 21:10

      [[filteroperator]modules[]]

      Get the title of the macro module which a property name with value version:

      [[macro]modules[name],[version]]

      ModuleType

       21 noviembre 2021 a las 3:13

      The module-type field of a JavaScript module is a string that identifies the type of the module. Here is a list of the module types used in this wiki:

      allfilteroperator
      Un suboperador para el operador de filtro all.
      animation
      Animaciones que pueden usarse con RevealWidget
      authenticator
      Define cómo el servidor HTTP integrado autentifica las solicitudes.
      bitmapeditoroperation
      Operación de la barra de herramientas para editar mapa de bits.
      command
      Comandos que pueden ejecutarse en Node.js
      config
      Datos para insertar en $tw.config
      filteroperator
      Operadores individuales de filtrado
      filterrunprefix
      formatfilteroperator
      global
      Datos globales para insertar en $tw
      indexer
      info
      Publica información del sistema a través del pseudo-complemento $:/temp/info-plugin.
      isfilteroperator
      Operandos para el operador is
      library
      Tipo de módulo genérico para módulos JavaScript de propósito general.
      macro
      Definiciones macro de JavaScript.
      parser
      Reglas sintácticas para diversos tipos de contenido.
      route
      Define cómo el servidor HTTP integrado gestiona los patrones de URL individuales.
      saver
      Guarda archivos desde el navegador con diferentes métodos.
      startup
      Funciones de inicio
      storyview
      Personaliza la animación y comportamiento de listas
      texteditoroperation
      Operación de la barra de herramientas para editar texto.
      tiddlerdeserializer
      Convierte diferentes tipos de contenido en tiddlers
      tiddlerfield
      Define el comportamiento de un campo individual
      tiddlermethod
      Añade métodos al prototipo $tw.Tiddler
      upgrader
      Aplica la actualización a los tiddlers durante el proceso de actualización/importación.
      utils
      Añade métodos a $tw.utils
      utils-node
      Añade métodos específicos de Node.js a $tw.utils
      widget
      Encapsula la representación y recarga de DOM
      widget-subclass
      wikimethod
      Añade métodos a $tw.Wiki
      wikirule
      Reglas individuales del intérprete principal de WikiText

      moduletypes Operator

       3 febrero 2015 a las 18:59
      purposeselect the names of all TiddlyWiki module types
      inputignored
      parameternone
      outputthe name of each known TiddlyWiki module type, in alphabetical order

      Learn more about how to use Filters

      moduletypes Operator (Examples)

       23 enero 2015 a las 22:16

      [moduletypes[]]

      Monday

       16 noviembre 2021 a las 22:11

      This example tiddler is used to illustrate some of the Filter Operators.

      More actions

       17 agosto 2016 a las 12:01

      Pressing Gives you a dropdown menu with more editing options.

      Motovun Jack.ascii

       

        ';.                                                           .;c'
       :XNo                                                          ,kjack'           .:dd
      ,K0X:                                                         '0l   Tiddly:',..,Wiki.
      jacK'                                                        .dk.     '';jack  .xk;
      Jack;                        ..',','...                      '0c                .0c
      :0:c0l.                 .:dTidllyc::cjoWikioc:,,,,;;:cJACKc:;;d0.                'K:
       l0:'jack,...   ...',:lkxc.              ..';:ccc:;;,'...',:loc                 .Kc
        ,xk:..,jackjackjack;'.                                                        :K,
          .lxxl;..        .                                                          .Ox.
             .':lTiddlyWikI.                                                        .xk.
                    ``   ;0;                                                 .     ;Od.
                         .dO'                                               .0Ojackx,
                           cOo'                                            .kk'.'..
                            .k0'                                         .cOo.
                            lO;          ...                          .jack.
                          .xk'          .jackTiddlyWikijackO,       .lkd;.
                         ;Oo.          .dO.              .ok.     ,Oo.
                        l0;    .c,     ,0:                .kd     l0.
                       .xk.   .xNx     lO.                 lO.    ;0,
                        .Od.  ,XW0,    :0;                 dk.    .kx.
                         .kx.  jACKx'   cOl.              .Ol      ;0:
                          .oO:  .JACKx.  .jack;'.         .0:       c0;
                            'dkc   ,lXKd'   .'jack.       .Ol        cOc.
                              .;ljack,.;xkc,...,oK,        'xxjack.   .oko.
                                  ``       'cljack'              .okdlcJack.
                                                                   'JacK,'
      

      Motovun Jack.jpg

       

      Motovun Jack.pdf

       

      Motovun Jack.svg

       

      move Operator

       8 noviembre 2015 a las 8:24
      purposemove marker N places in the list
      inputa list of items
      suffixan integer N, defaulting to 1
      parametermarker = the list item to be used as a marker
      outputre-ordered list of items

      Learn more about how to use Filters

      move Operator (Examples)

       8 noviembre 2015 a las 5:16

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[move[Wednesday]]

      [list[Days of the Week]] +[move:-2[Wednesday]]

      multiply Operator

       11 junio 2019 a las 13:58
      purposetreating each input title as a number, multiply it by the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, but with each one multiplied by N

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      Compare with the product Operator.

      Examples

      multiply Operator (Examples)

       11 junio 2019 a las 13:57

      [[23]multiply[19]]

      =1 =2 =3 =4 +[multiply[4]]

      MultiTiddlerFiles

       21 junio 2015 a las 19:21

      MultiTiddlerFiles allow multiple tiddlers to be concisely represented in a single text file.

      The goals of this format are:

      • To be easy to type and easy to read
      • Optimised for single line strings
      • To allow common fields or tags to be shared within groups of tiddlers
      • To be simple to process with external tools

      MultiTiddlerFiles have the extension multids. The file is structured as a block of shared fields followed by a blank line. The rest of the file is a sequence of comments and tiddlers. Tiddlers are specified by their title, followed by a colon, at least one space character, and then the rest of the line is the text field for the tiddler.

      For example:

      title: $:/language/ControlPanel/
      tags: strings
      modifier: JoeBloggs
      
      Basics/Caption: Basics
      # This is a comment
      Basics/Version: ~TiddlyWiki Version

      This example defines two tiddlers, $:/language/ControlPanel/Basics/Caption and $:/language/ControlPanel/Basics/Version.

      If a title field is specified in the header then it is treated as a prefix for the individual tiddlers defined in the title.

      Syntax Specification

      MultiTiddlerFiles

      Header LineBlank LineTiddler Descriptor LineComment Line

      Header Line

      Identifier:WhitespaceValueNew Line

      Tiddler Descriptor Line

      File Path:WhitespaceTiddler TitleNew Line

      Comment Line

      #TextWhitespaceNew Line

      MultiTiddlerFileSyntax

       21 junio 2015 a las 19:14

      MultiTiddlerFiles

      Header LineBlank LineTiddler Descriptor LineComment Line

      Header Line

      Identifier:WhitespaceValueNew Line

      Tiddler Descriptor Line

      File Path:WhitespaceTiddler TitleNew Line

      Comment Line

      #TextWhitespaceNew Line

      MySubHistoryList

       18 abril 2016 a las 5:22
      [
          {
              "title": "HelloThere",
              "fromPageRect": {
                  "top": 629,
                  "left": 304,
                  "width": 80,
                  "right": 384,
                  "bottom": 647,
                  "height": 18
              }
          },
          {
              "title": "HelloThere",
              "fromPageRect": {
                  "top": 516.2666625976562,
                  "left": 1022.3333129882812,
                  "width": 79,
                  "right": 1101.3333129882812,
                  "bottom": 533.2666625976562,
                  "height": 17
              }
          }
      ]

      MySubStoryList

       18 abril 2016 a las 5:22

      Named Filter Run Prefix

       18 noviembre 2021 a las 2:58

      allandcascadeelseexceptfilterintersectionmaporreducesortthen

      A named filter run prefix can precede any run of a filter expression in place of a single-character prefix (+, - and so on). To create a new filter run prefix, create a Javascript module with a module-type of filterrunprefix.

      NamedCommandParameters

       17 noviembre 2021 a las 23:42

      New in: 5.1.18 Most TiddlyWiki Commands use a position-based system for their parameters where each parameter must be listed in the precise order defined by the command. Some of the more complex commands offer an alternative scheme of named command parameters. For example, here we provide two parameters named "port" and "host":

      --listen port=8090 host=0.0.0.0

      Note that the order of the parameters does not matter.

      Using special characters within a parameter requires quoting. Unix, Linux and the Mac use single quotes, and Windows uses double quotes:

      --listen port=8090 username=joe 'password=s3cret(!'
      --listen port=8090 username=joe "password=s3cret(!"

      Note that the quotes are applied to the entire name=value pair, not just to the value part.

      namespace Variable

       28 febrero 2015 a las 13:37

      The namespace variable is used internally by HTML widgets to keep track of the correct namespace for the DOM elements they generate.

      An svg or math element supplies a distinct namespace for itself and any child elements it contains.

      Naming of System Tiddlers

       12 septiembre 2014 a las 15:26

      The system tiddlers provided as part of the core are named according to the following rules:

      NamespaceFormatDescription
      $:/*CamelCaseRoot user interface tiddlers (eg control panel, advanced search)
      $:/config/*CamelCaseUser-oriented configuration setting
      $:/core/images/*hyphen-caseCore images
      $:/core/modules/*lowercaseJavaScript module tiddlers
      $:/core/save/*lowercaseSaving templates for creating TiddlyWiki documents
      $:/core/templates/*inconsistentTemplates needed for TiddlyWiki to operate. Currently uses a mix of dashes and periods to separate words
      $:/core/ui/*inconsistentTiddlers comprising the default user interface of TiddlyWiki. Currently uses a mix of CamelCase and lowercase naming conventions
      $:/core/wiki/*lowercaseMetadata about the entire wiki
      $:/docs/*lowercaseDocumentation tiddlers
      $:/messages/*CamelCaseSystem messages
      $:/plugins/*lowercasePlugin tiddlers, and plugin content
      $:/snippets/*inconsistentReusable snippets (will be replaced by macros)
      $:/state/*lowercaseUser interface state tiddlers
      $:/tags/*CamelCaseUser interface configuration tags
      $:/temp/*lowercaseTemporary tiddlers that shouldn't be saved
      $:/themes/*lowercaseTheme plugins

      In the format column:

      • hyphen-case refers to joining multiple lowercase words with hyphens
      • CamelCase refers to directly joining multiple lowercase words with initial uppercase letters
      • lowercase refers to directly joining multiple lowercase words
      • inconsistent marks namespaces that are currently titled inconsistently

      Cómo moverse entre tiddlers abiertos

       22 abril 2016 a las 6:22

      En la vista por defecto "classic", los tiddlers abiertos se muestran en una columna vertical llamada StoryRiver. Hay varias maneras de moverse por ella, saltando adelante y atrás entre los diferentes tiddlers abiertos.

      • La más sencilla es por medio de la pestaña Abiertos de la barra lateral.
        • La pestaña Abiertos contiene la lista de tiddlers abiertos. Pinchando en cualquiera de ellos se salta a ese tiddler y haciéndolo en la "x" junto al título, se cierra. Hay también un práctico botón "cerrar todo" abajo del todo de la lista.
      • Otra manera es desplazándose por la página, usando bien la rueda del ratón o la barra de desplazamiento de la derecha.
        • Cuando la barra lateral y la StoryView se extienden más allá de la pantalla visible, habrá dos barras. La de más a la derecha controla la StoryRiver. La otra, la barra lateral.
      • Otra forma posible, usada por muchos principiantes, consiste en cerrar tiddlers de uno en uno hasta llegar al que están buscando.
        • Al cerrar un tiddler del principio o del medio de la lista hará que los tiddlers de más abajo se deslicen "río arriba", poniendo a la vista el tiddler inmediatamente debajo del que se acaba de cerrar.

      Widget Navegador

       15 abril 2016 a las 6:14

      Introducción

      El widget Navegador manipula el TiddlerStore, StoryList y HistoryList en respuesta a una serie de mensajes.

      Contenido y atributos

      El widget muestra en pantalla su contenido y responde a los mensajes que se le envían

      The navigator widget displays any contained content, and responds to Messages dispatched within it.

      AtributoDescripción
      storyNombre del tiddler que contiene el StoryList que se va a manipular
      historyNombre del tiddler que contiene el HistoryList que se va a manipular
      openLinkFromInsideRiverDetermina dónde se van a abrir los tiddlers nuevos que se invoquen desde dentro del StoryRiver: al principio o al final del StoryRiver o encima o debajo del tiddler actual
      openLinkFromOutsideRiverDetermina dónde se van a abrir los tiddlers nuevos que se llamen desde fuera del StoryRiver: al principio o al final del StoryRiver

      Mensajes del widget

      El navegador maneja los siguientes mensajes:

      negate Operator

       11 junio 2019 a las 18:40
      purposecalculate the negation of a list of numbers
      inputa selection of titles
      outputthe negation of the input numbers

      Learn more about how to use Filters

      negate Operator (Examples)

       11 junio 2019 a las 18:41

      [[-2000]negate[]]

      =1 =2 =3 =4 =5 +[negate[]]

      New Release Banner

       

      Newnham Horizon.jpg

       

      next Operator

       3 febrero 2015 a las 18:59
      purposefind which titles in a list field follow the input ones
      inputa selection of titles
      parameterT = a tiddler title
      outputa selection containing each title that immediately follows each of the input titles in the list field of T

      Learn more about how to use Filters

      Each input title is processed in turn, and its successor is located in the list field and appended to the output. If a title is not listed in the field, or is the last title there, then it contributes nothing to the output.

      Examples

      next Operator (Examples)

       23 enero 2015 a las 22:18

      These examples make use of the Days of the Week tiddler.

      [[Monday]next[Days of the Week]]

      [[Sunday]next[Days of the Week]]

      Tuesday Wednesday Thursday +[next[Days of the Week]]

      node-webkit

       20 noviembre 2021 a las 22:17

      "node-webkit" was the original name for the project now known as NW.js.

      Node.js

       12 junio 2022 a las 10:18

      Node.js is a downloadable application for your PC, Mac or Linux computer that lets it run JavaScript applications. Unlike JavaScript applications running in a web browser, Node.js code has full access to the file system and other resources of the computer, enabling it to perform the roles that have traditionally been the preserve of languages like Java, PHP and Python.

      For TiddlyWiki, Node.js means that we can have a single code base that can run in the browser or on the server, giving great flexibility in how it is used.

      For end users, Node.js is no more complicated to install than a web browser, but unlocks powerful capabilities such as the ability to run TiddlyWiki as a web server that you can connect to from other devices.

      Node.js is a trademark of the OpenJS Foundation. See: https://nodejs.org fore more details.

      TiddlyWiki on Node.js will give an overview about the possibilities using a client-server configuration.

      Notes for upgrading to 5.0.11-beta

       16 mayo 2014 a las 16:02

      Version 5.0.11-beta includes some changes that can break content from earlier releases of TiddlyWiki 5.

      Command line changes

      Previously, commands that generate output files would interpret the specified path to the file as being relative to the current working directory. So, for example, the following command would write index.html to the current directory:

      tiddlywiki mywiki --rendertiddler $:/core/save/all index.html text/plain

      In 5.0.11-beta this behaviour has changed, and now the specified filename is resolved relative to an output folder within the TiddlyWikiFolder. So the command above will now write the file index.html to mywiki/output/index.html.

      You can override this behaviour with the OutputCommand. For example, to generate the index.html file within the current directory:

      tiddlywiki mywiki --output . --rendertiddler $:/core/save/all index.html text/plain

      A further change is that the --rendertiddlers command now clears the output folder before it writes any files. This means that any previous --rendertiddler commands to the same folder will have their output deleted.

      Notes for upgrading to 5.0.8-beta

       23 febrero 2014 a las 19:55

      Version 5.0.8-beta includes some changes that can break content from earlier releases of TiddlyWiki 5.

      Change to $:/SiteTitle and $:/SiteSubtitle

      You should rename any existing SiteTitle and SiteSubtitle tiddlers to $:/SiteTitle and $:/SiteSubtitle respectively.

      Changed parsing rules for content of HTML elements

      Version 5.0.8-beta marks a change in the way that TiddlyWiki determines whether to parse the content of an HTML element or widget in block mode or inline mode.

      • In block mode, TiddlyWiki parses text into paragraphs, creating <p> tags to wrap them. It also recognises block syntax like headings, lists and tables.
      • In inline mode, TiddlyWiki ignores paragraph formatting, and just recognises character formatting, like bold and italic.

      It's important to be able to control which type of parsing is performed for different situations.

      Prior to 5.0.8-beta, TiddlyWiki parsed the content of an element in inline mode unless the opening tag of the element were immediately followed by a line break. This meant that much of the time element tags would be shunted together into a long line, hindering readability.

      The new behaviour for 5.0.8-beta is to parse the content of an element in inline mode unless the opening tag is immediately followed by two line breaks.

      To adjust existing content for 5.0.8-beta you will need to manually add the additional line break after the opening tag of elements and widgets whose content should be parsed in block mode.

      The positive aspect of the change is that it removes the need to pack multiple HTML tags onto a single line, improving readability.

      Examples

      Consider the difference between these two examples. First, here's an HTML tag that starts with two line breaks:

      
      <blockquote>
      
      ! This is a heading
      
      And a paragraph of text.
      
      </blockquote>
      

      Tiene este aspecto:

      This is a heading

      And a paragraph of text.

      ... y su código HTML es:

      <blockquote><h1 class="">This is a heading</h1><p>And a paragraph of text.</p></blockquote>

      Secondly, here's an HTML tag with just a single line break. Notice how the heading is no longer recognised as a heading

      
      <blockquote>
      ! This is a heading
      
      And a paragraph of text.
      </blockquote>
      

      Tiene este aspecto:

      ! This is a heading And a paragraph of text.

      ... y su código HTML es:

      <p><blockquote>
      ! This is a heading
      
      And a paragraph of text.
      </blockquote>
      </p>

      Changed commands for TiddlyWiki on Node.js

      The handling of wiki folders has changed. Previously, if the tiddlywiki command was run against a wiki folder that didn't have the necessary tiddlywiki.info file then it would be automatically created. Now, the wiki folder must be initialised with the InitCommand.

      This is how to create and start a new server-based wiki:

      tiddlywiki mywikifolder --init server
      tiddlywiki mywikifolder --server

      Note that the name of the clientserver edition has changed to server.

      Mensajes de notificación

       29 abril 2016 a las 6:37

      Las notificaciones son pequeños mensajes de información que aparecen en la esquina superior derecha de la ventana y que desaparecen automáticamente.

      now Macro

       29 junio 2021 a las 22:50

      The now macro returns the current date and time in a specified format.

      The value doesn't update automatically, like a ticking clock. It updates whenever the macro call is rendered, such as when the containing tiddler's display needs to be refreshed for some other reason.

      Parameters

      format
      A string specifying the desired format, defaulting to 0hh:0mm, DDth MMM YYYY

      Note: The format string [UTC]YYYY0MM0DD0hh0mm0ssXXX will return a date string representing the UTC time-stamp as it is used in the TiddlyWiki created and modified time-stamp fields.

      New in: 5.2.0

      You can now pass literal parameters to the now macro in filters. For example, this filter will return all tiddlers created today: [all[tiddlers]] :filter[get[created]format:date[YYYY0MM0DD]match<now YYYY0MM0DD>]

      Examples

      now Macro (Examples)

       21 febrero 2015 a las 17:04

      <<now>>
      <<now YYYY-0MM-0DD>>
      <<now "hh:0mm:0sspm">>

      nsort Operator

       3 febrero 2015 a las 19:00
      purposesort the input by number field
      inputa selection of titles
      parameterF = the name of a field, defaulting to title
      outputthe input, sorted into ascending order by field F, treating field values as numbers
      ! outputthe input, likewise sorted into descending order

      Learn more about how to use Filters

      Non-numeric values are treated as having a higher value than any number, and the difference between capital and lowercase letters is ignored. Compare nsortcs.

      Examples

      nsort Operator (Examples)

       23 enero 2015 a las 22:21

      10 010 1000 100 +[nsort[]]

      10 010 ALPHA beta alpha 1000 100 +[nsort[]]

      nsortcs Operator

       17 abril 2015 a las 13:57
      purposesort the input titles by number field, treating upper and lower case as different
      inputa selection of titles
      parameterF = the name of a field, defaulting to title
      outputthe input, sorted into ascending order by field F, treating field values as numbers
      ! outputthe input, likewise sorted into descending order

      Learn more about how to use Filters

      Non-numeric values are treated as having a higher value than any number, and capital and lowercase letters are treated as different. Compare nsort.

      Examples

      nsortcs Operator (Examples)

       23 enero 2015 a las 22:21

      10 010 1000 100 +[nsortcs[]]

      10 010 ALPHA beta alpha 1000 100 +[nsortcs[]]

      nth Operator

       29 octubre 2021 a las 3:37
      purposeselect the Nth input title
      inputa selection of titles
      parameterN = an integer, defaulting to 1
      outputthe Nth input title

      Learn more about how to use Filters

      N is one-based. In other words, nth[1] has the same effect as the first operator.

      See zth for an equivalent operator with a 0 based parameter

      Examples

      nth Operator (Examples)

       23 enero 2015 a las 22:29

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]nth[]]

      [list[Days of the Week]nth[5]]

      NW.js

       10 marzo 2015 a las 16:50

      NW.js is an OpenSource application that fuses the functionality of a web browser with that of Node.js. It makes it possible to use web applications as though they were native apps, with full access to the file system and other native facilities. Learn more from the official site or this introductory blog post.

      See TiddlyWiki on NW.js for details of how to use TiddlyWiki with NW.js.

      "Índice del libro de Abdías", de Dave Gifford

       17 abril 2016 a las 16:29

      Introducción de Dave Gifford al libro bíblico de Abdías, que usa la macro Índice y varios ajustes personalizados de TiddlyWiki: botones "nuevo aquí", esta plantilla personalizada de visualización para añadir notas e imágenes dentro de cualquier tiddler y un tiddler de transclusión para facilitar la impresión (este tiddler)

      http://giffmex.org/experiments/obadiah.html

      OfficialPlugins

       12 junio 2022 a las 9:23

      The official TiddlyWiki plugin library contains the plugins that are part of the main TiddlyWiki 5 GitHub repository. Install them from the plugin library. Plugins from the official plugin library are automatically updated as part of the upgrade process.

      Note
      An overview, how to handle plugins can be found at: Plugins

      Open Collective

       4 diciembre 2022 a las 16:56

      Open Collective is a platform for transparent fundraising and expenses for projects like TiddlyWiki. It is the official TiddlyWiki community fundraising space.

      https://opencollective.com/tiddlywiki

      You can make a fixed one-time donation, or setup a recurring contribution.

      The main goals listed for donations are to cover basic costs for community infrastructure like the Discourse forum, and a new goal for supporting the TiddlyWiki Core.

      Additionally, the community can make use of the platform for special projects - to pool funds to pay for development, design, or anything else. The File Upload Plugin is the first of these, and we want to welcome others to launch projects here.

      Open Collective Logo

       

      OpenSource

       25 agosto 2013 a las 14:07

      OpenSource is defined by Wikipedia as a philosophy, or pragmatic methodology that promotes free redistribution and access to an end product's design and implementation details.

      Orden de los tiddlers etiquetados

       26 abril 2016 a las 10:41

      Cuando TiddlyWiki genera una lista de los tiddlers que comparten una etiqueta en particular (p. ej, en la lista que aparece al pinchar en una etiqueta), los ordena conforme a las siguientes reglas:

      1. Primero, los declarados en el campo list del TagTiddler y en el orden que este indica
      2. Luego, los no-declarados que tengan el campo list-before, que van inmediatamente antes del título que respectivamente indiquen.
        • Si el campo existe pero tiene valor en blanco, el tiddler se coloca al principio de la lista. En caso de que sean varios los tiddlers etiquetados no declarados que tienen el campo list-before en blanco, se colocarán por orden alfabético ascendente al principio de la lista, ignorando mayúsculas y minúsculas.
      3. A continuación, los no-declarados que tengan el campo list-after, que van inmediatamente después del título que respectivamente indiquen.
      4. Finalmente, cerrando la lista, por orden alfabético ascendente, ignorando mayúsculas y minúsculas, todos los demás tiddlers que queden.

      order Operator

       28 noviembre 2016 a las 19:12
      purposeselectively reverse the input list
      inputa selection of titles
      parameterF = Either the string reverse or another value
      outputthe input, with the order reversed if F is the special value reverse

      Learn more about how to use Filters

      Either reverses or preserves the order of the input list according to whether the parameter is the special value reverse.

      Examples

      Osmosoft

       19 noviembre 2021 a las :46

      Founded in 2004 by JeremyRuston, Osmosoft was originally a consultancy for software services around TiddlyWiki. Notable engagements included working with Socialtext on Socialtext Unplugged.

      In 2007, Osmosoft was acquired by BT and became the champions for open source within the enterprise. As part of BT, Osmosoft has worked on a diverse range of projects within BT and for BT's customers.

      See http://osmosoft.com/

      Other Resources

       1 enero 2021 a las 15:25

      This list contains any usefull resource that have been shared with the TiddlyWiki Community that doesn fit the previous categories. They may be, macros, widgets, code snippts, ideas or more.

      OutputCommand

       25 abril 2014 a las 9:57

      Establece el directorio de salida para los comandos que le siguen
      El directorio por defecto es el subdirectorio output, en el directorio del wiki

      --output <pathname>

      Si la ruta especificada es relativa, se interpreta como relativa al directorio actual de trabajo
      Por ejemplo: --output . establece como directorio de salida el actual directorio de trabajo

      OXTWIG: OXford TiddlyWiki Interest Group

       17 abril 2016 a las 16:52

      El OXTWIG: Oxford TiddlyWiki Interest Group se reúne mensualmente para conversar y hacer demostraciones de TiddlyWiki.

      Ver https://oxtwig.eventbrite.co.uk/ para más información sobre nuestra próxima reunión.

      También tenemos lista de correo: https://groups.google.com/forum/#!members/oxtwig

      OXTWIG #2

      La segunda reunión del OXTWIG se celebró el jueves 16 de enero de 2014:

      OXTWIG #1

      La primera reunión del OXTWIG se celebró el jueves 21 de noviembre de 2013:

      pad Operator

       29 noviembre 2020 a las 17:53
      purposereturns each item in the list padded to the specified length
      inputa selection of titles
      suffix(optional). Whether to pad by adding a "suffix" or "prefix". Defaults to "prefix".
      parameterthe pad operator accepts 1 or more parameters, see below for details
      outputthe input titles padded to the specified length

      Learn more about how to use Filters

      New in: 5.1.23

      The pad operator requires at least one parameter which specifies the desired length of the input titles. A second optional parameter can be used to specify the string to pad with (defaults to "0").

      [pad[<length>],[<padding-string>]]
      • length : the desired final length of the input titles.
      • padding-string: (optional). The string to use to pad to the desired length. Defaults to "0".

      Examples

      pad Operator (Examples)

       29 noviembre 2020 a las 18:00

      [[2]pad[3]]

      [[2]pad[3],[a]]

      [[12]pad[9],[abc]]

      [[12]pad:suffix[9],[abc]]

      Modificación del diseño de tiddlers y de la página

       28 abril 2016 a las 7:25

      Algo que muchos usuarios desconocen es hasta qué punto pueden customizar TIddlyWiki simplemente añadiendo o quitando etiquetas de sistema de tiddlers ocultos clave o de sus propios tiddlers.

      • Puedes añadir o quitar funciones por defecto en tiddlers, tanto en modo de visionado como en modo de edición (digamos que encuentras que el subtítulo de tiddler distrae o que quieres añadir un recordatorio para cuando se editen tiddlers)
      • También puedes añadir o quitar funciones por defecto en el diseño general de la página (quizá necesites un reloj en la barra lateral, o sustituir uno de los botones de control por otro que hayas hecho tú)
      • O puedes reorganizar el orden en que se muestran (quizá prefieres mostrar las etiquetas por encima del título, o que el subtítulo de la página aparezca por debajo de los botones)

      Una vez sepas qué es lo que quieres hacer, te parecerá que todas estas cosas son bastante fáciles.

      Añadir tiddlers a medida a la interfaz de usuario

      Puedes crear el tiddler que quieras y asignarle la etiqueta de sistema apropiada para que aparezca en tal o cual sitio. Por ejemplo, si creas un tiddler llamado "Recordatorio" con el texto "Esto es un recordatorio" y la etiqueta $:/tags/EditTemplate, las palabras "Esto es un recordatorio" aparecerán en todos los tiddlers que abras para edición.

      Al crear tiddlers para que se muestren dentro de otros tiddlers o para que formen parte del diseño de página, necesitarás con toda probabilidad reorganizar el diseño para que tus tiddlers se muestren exactamente donde quieres que aparezcan. Para hacerlo, edita el tiddler oculto apropiado con el prefijo $:/tags e incluye el título de tu tiddler en el lugar adecuado del campo list. Por ejemplo, si quieres que la frase "Esto es un recordatorio" del ejemplo anterior aparezca por encima del editor de etiquetas en modo de edición, edita el tiddler $:/tags/EditTemplate e inserta [[Recordatorio]] en el campo list, justo antes de $:/core/ui/EditTemplate/tags

      Crear nuevos botones en la barra de tiddler y los controles de página

      Digamos que tienes un tiddler llamado Plantilla Recetas y quieres un botón que cree nuevas recetas a partir de él. Para hacerlo tendrás que hacer lo siguiente:

      1. Primero, necesitarás una imagen para el botón. Si ninguna de las imágenes del sistema (tiddlers ocultos con el prefijo y la etiqueta $:/core/images), necesitarás crear o buscar una imagen SVG para ello (por ejemplo una de http://flaticon.com).
        • En cualquier caso, arrástrala a tu página para importarla, edita convenientemente el tiddler y ajusta sus dimensiones a 22px x 22px
      2. Necesitarás crear un tiddler que contenga el botón. Créalo, dale título y añade el código para habilitar el botón:
        • \define newHereButtonTags() [[$(currentTiddler)$]] \end \define newHereButton() <$button class=<<tv-config-toolbar-class>>> <$action-sendmessage $message="tm-new-tiddler" $param="TÍTULO DE LA PLANTILLA QUE QUIERES QUE ABRA" title="New tiddler" tags=<<newHereButtonTags>> /> <$list filter="[<tv-config-toolbar-icons>match[yes]]"> {{NOMBRE DE LA IMAGEN DEL BOTÓN}} </$list> <$list filter="[<tv-config-toolbar-text>match[yes]]"> <span class="tc-btn-text"><$text text="NOMBRE DEL BOTÓN PARA MOSTRAR EN PANTALLA"/></span> </$list> </$button> \end <<newHereButton>>
        • Asígnale la etiqueta $:/tags/ViewToolbar]]
      3. Hay que crear un tiddler que le diga a TiddlyWIki si el botón será o no visible en la barra. Llamémosle por ejemplo <<.tid "$:/config/ViewToolbarButtons/Visibility/Receta"">>. Escribe show en el cuerpo y guárdalo.
      4. Habrá que posicionar el botón adecuadamente. Abre el tiddler $:/tags/ViewToolbar e inserta el nombre de tu botón en el lugar adecuado del campo list.

      Eliminar tiddlers ocultos de la interfaz de usuario

      En la subpestaña Ocultos de la pestaña Más en la barra lateral, verás la lista de todos los tiddlers ocultos. En ella verás algunos con el prefijo $:/core/ui/. Estos son los que definen la interfaz de usuario y llevan etiquetas de sistema. Añadir o eliminar estas etiquetas modifica el diseño, tanto de los tiddlers, como de la página entera.

      Por ejemplo: $:/core/ui/SideBar/More es el tiddler que define la pestaña Más. Si le quitas la etiqueta, quitarás dicha pestaña de la barra lateral y si se la vuelves a asignar, volverás a mostrarla.

      Puedes aplicar el mismo procedimiento para cualquier tiddler de la interfaz que lleve el prefijo $:/core/ui/. Por ejemplo, quitar la etiqueta de sistema al tiddler $:/core/ui/ViewTemplate/subtitle eliminará el subtítulo de todos los tiddlers.

      Si modificas un tiddler oculto de esta manera, sobreescribirás el valor predefinido. Para revertirlo a su origen, simplemente borra el tiddler modificado para restaurar el tiddler oculto.

      Paragraphs in WikiText

       14 diciembre 2013 a las 17:04

      To mark the end of a paragraph in TiddlyWiki you need to type enter twice to create a double line break:

      This is the first paragraph.
      
      And this is the second paragraph.

      Single line breaks are ignored within paragraphs. For example:

      This is a
      paragraph made
      up of
      short lines

      Tiene este aspecto:

      This is a paragraph made up of short lines

      ... y su código HTML es:

      <p>This is a
      paragraph made
      up of
      short lines</p>

      For situations where this behaviour isn't convenient, you can also use Hard Linebreaks in WikiText.

      ParametersWidget

       18 mayo 2023 a las 14:40

      New in: 5.3.0 The $parameters widget is used within transcluded content to declare the parameters to be made available to the $transclude widget.

      There are shortcuts for common scenarios that can often make it unnecessary to use the $parameters widget directly:

      The $parameters widget must be used directly in the following situations:

      • When the default value of a parameter must be computed dynamically
      • When the $depth attribute is used to retrieve parameters from a parent transclusion (see below)

      Content and Attributes

      The content of the $parameters widget is the scope within which the values of the parameters can be accessed as ordinary variables.

      AttributeDescription
      $depthThe index of the parent transclusion from which to obtain the parameters (defaults to 1). See below
      $parseModeOptional name of a variable in which is made available the parse mode of the content of the parent transclusion (the parse mode can be "inline" or "block")
      $parseTreeNodesOptional name of a variable in which is made available the JSON representation of the parse tree nodes contained within the parent transclusion
      $slotFillParseTreeNodesOptional name of a variable in which is made available the JSON representation of the parse tree nodes corresponding to each fill widget contained within the parent transclusion (as an object where the keys are the slot names and the values are the parse tree nodes)
      $paramsOptional name of a variable in which is made available the JSON representation of the parameters passed to the parent transclusion (as an object where the keys are the parameter names and the values are the coresponding values)
      {attributes not starting with $}Any attributes that do not start with a dollar are used as parameters, with the value specifying the default to be used for missing parameters
      {other attributes starting with $}Other attributes starting with a single dollar sign are reserved for future use
      {attributes starting with $$}Attributes starting with two dollar signs are used as parameters to the transclusion, but with the name changed to use a single dollar sign. The value specifies the default to be used for missing parameters
      Note
      Note the special treatment required for parameters names that start with a $; this can be avoided by using one of the pragmas

      $depth Attribute

      By default, the $parameters widget retrieves parameters from the immediate parent transclusion. The $depth attribute permits access to the parameters of parent transclusions by specifying an index to the parent to be inspected ("1" is the immediate parent, "2" is the parent of that parent, etc.). This is useful in some situations where an intervening transclusion prevents immediate access to desired parameters.

      $parseMode, $parseTreeNodes, $slotFillParseTreeNodes and $params Attributes

      These attributes provide low level access to the contents of the transcluding widget:

      • The $params attribute provides access to the raw parameters provided to the transcluding widget. Represented in JSON as an object with keys of the parameter names and values of the corresponding parameter values
      • The $parseMode attribute contains block or inline to indicate whether the contents was parsed in block or inline mode
      • The $parseTreeNodes attribute provides access to the raw parse tree nodes that represent the contents of the transcluding widget. Represented in JSON as an array of parse tree nodes
      • The $slotFillParseTreeNodes attribute provides access to the raw parse tree nodes corresponding to the filled slots within the contents of the transcluding widget. Represented in JSON as an object with keys of the slot name and values being an array of parse tree nodes

      Examples

      Example i: Shows transclusion of Sample Tiddler Template. The template tiddler has two parameters name and age and here their default values are used.

      <$transclude $tiddler="Sample Tiddler Template" />

      Example ii: Shows, another transclusion of Sample Tiddler Template, here the value of age is passed, but name uses its default value.

      <$transclude $tiddler="Sample Tiddler Template" age=33/>

      Example iii: Shows, another transclusion of Sample Tiddler Template, here the value of both name and age are passed.

      <$transclude $tiddler="Sample Tiddler Template" age=45 name="Jeremy Ruston" />

      In the simple form the above transclusion is equivalent to

      {{Sample Tiddler Template|Jeremy Ruston|45}}

      In this simple form, parameters passed by position not by name. So the first value is passed to the first parameter, here name and the second value is passed to the second parameter, here age.

      Remarks

      1. Passing parameter by name is good practice and is recommended for clarity. So for parameterized transclusions, the use of $transclude is recommended over simple form transclusion.
      2. When passing parameters value by position, you cannot pass the second parameter while the first one has not been passed.

      Example iv: Here the $parameters widget is used to declare a parameter whose default value is transcluded from another tiddler.

      \procedure myproc()
      <$parameters name={{$:/SiteTitle}} age="21">
      My name is <<name>> and my age is <<age>>.
      </$parameters>
      \end
      
      <$transclude $variable="myproc" age="19"/>
      

      ParametersWidget (Examples)

       18 mayo 2023 a las 14:51

      Example i: Shows transclusion of Sample Tiddler Template. The template tiddler has two parameters name and age and here their default values are used.

      <$transclude $tiddler="Sample Tiddler Template" />

      Example ii: Shows, another transclusion of Sample Tiddler Template, here the value of age is passed, but name uses its default value.

      <$transclude $tiddler="Sample Tiddler Template" age=33/>

      Example iii: Shows, another transclusion of Sample Tiddler Template, here the value of both name and age are passed.

      <$transclude $tiddler="Sample Tiddler Template" age=45 name="Jeremy Ruston" />

      In the simple form the above transclusion is equivalent to

      {{Sample Tiddler Template|Jeremy Ruston|45}}

      In this simple form, parameters passed by position not by name. So the first value is passed to the first parameter, here name and the second value is passed to the second parameter, here age.

      Remarks

      1. Passing parameter by name is good practice and is recommended for clarity. So for parameterized transclusions, the use of $transclude is recommended over simple form transclusion.
      2. When passing parameters value by position, you cannot pass the second parameter while the first one has not been passed.

      Example iv: Here the $parameters widget is used to declare a parameter whose default value is transcluded from another tiddler.

      \procedure myproc()
      <$parameters name={{$:/SiteTitle}} age="21">
      My name is <<name>> and my age is <<age>>.
      </$parameters>
      \end
      
      <$transclude $variable="myproc" age="19"/>
      

      PasswordCommand

       

      Establece contraseña para las operaciones subsiguientes de cifrado

      --password <password>

      Nota: Esto no debe usarse para servir TiddlyWiki con protección por contraseña. En su lugar, consulta la opción de contraseña en ServerCommand.

      PasswordWidget

       30 octubre 2013 a las 8:37

      Introduction

      The password widget displays a password input box that is bound to a named entry in the TiddlyWiki5 PasswordVault. Passwords are currently stored in the browsers local storage and are not themselves encrypted.

      Content and Attributes

      The content of the <$password> widget is ignored.

      AttributeDescription
      nameName of the password vault entry

      Percent Encoding

       28 febrero 2015 a las 13:15

      Percent encoding is a notation that allows otherwise invalid characters to be included in a URI.

      Such characters are represented as a percent sign % followed by two additional characters.

      For example, a space is represented as %20 and an actual percent sign is represented as %25.

      Performance

       14 octubre 2019 a las 10:19

      TiddlyWiki ships with defaults that are designed to get the best out of modern devices from smartphones to desktop computers. If you need to work on older, less powerful devices, or work with large amounts of content, there are a few steps you can take to improve performance.

      Usage

      • Avoid the "Recent" tab. It is computationally slow to generate and update in response to tiddler changes.
      • Use the "Vanilla" theme. The default "Snow White" theme includes visual effects like shadows, transparency and blurring that can be slow to render on older devices
      • Avoid large tiddlers. Large bitmaps can significantly slow TiddlyWiki's performance. For example, an image taken with a modern smartphone will often be 5MB or more. Use ExternalImages whenever possible
      • Don't have too many tiddlers open at once. Every tiddler you have open will require processing to keep it up to date as the store changes (for example, while you type into a draft tiddler). It is particularly easy when using zoomin story view to end up with dozens of tiddlers listed in the Open tab in the sidebar. Get into the habit of periodically closing all open tiddlers with the close all button

      WikiText

      • Use the built-in performance instrumentation. Studying the performance instrumentation results can help highlight performance problems
      • Take advantage of indexed filter operators. The following constructions at the start of a filter run will be optimised to run many times faster than otherwise:
        • [all[tiddlers]tag[x]...
        • [all[shadows]tag[x]...
        • [all[tiddlers+shadows]tag[x]...
        • [all[shadows+tiddlers]tag[x]...
        • [all[tiddlers]field:y[x]...
        • [all[shadows]field:y[x]...
        • [all[tiddlers+shadows]field:y[x]...
        • [all[shadows+tiddlers]field:y[x]...
        • Note that the field indexer currently defaults to indexing field values of less than 128 characters; longer values can still be searched for, but no index will be constructed
        • Also note that the “field” operator is also used when the operator name is a fieldname, so, for example, [all[shadows+tiddlers]caption[x]... is optimised.
      • Use the throttling feature of the RefreshMechanism judiciously
      • Keep in mind that transcluding separate tiddlers is more performant than heavy use of macros and the difference can be significant in some situations. The result of parsing each tiddler is cached and reused the next time if the tiddler has not changed. The same technique cannot be used for macros and they have to be re-parsed every time, as they are not global but local to the widget tree.
        • New in: 5.1.23 Parse trees are now cached for macros that do not perform any text substitution either via parameters or variables (i.e. $parameter$ or $(variable)$).
      • Where possible use the SetWidget or VarsWidget with filters instead of the WikifyWidget for declaring variables and string concatenation. The performance of the wikify mechanism is relatively poor as there is no opportunity to cache the parse tree or widget tree.

      Performance Instrumentation

       10 mayo 2019 a las 14:34

      The core has built-in performance instrumentation for the refresh cycle. See “Performance Instrumentation” on the “Settings” tab of control panel. The wiki will need to be reloaded before it takes effect.

      With performance instrumentation switched on, there is additional timing information displayed the browser developer console each time a refresh cycle is triggered. For example:

      performance: mainRender: 327.83ms 
      performance: styleRefresh: 9.14ms 
      performance: mainRefresh: 68.10ms 

      The information above should be interpreted as follows:

      • mainRender is the time taken for the initial display of the page template
      • styleRefresh is the time taken to refresh the page stylesheet
      • mainRefresh is the time taken to refresh the main page template

      As an example, try switching between the sidebar tabs to compare how long they take to render.

      More detailed information on filter execution timings is also available. With performance instrumentation enabled, type the following JavaScript command in the browser developer console:

      $tw.perf.log()

      A table is displayed with the following information:

      • name - the string "Filter: " plus the text of the filter
      • invocations - the number of invocations of the filter since startup
      • totalTime - the total time in milliseconds spent evaluating this filter since startup
      • percentTime - the percentage of the execution time of this filter against the total execution time of all filters

      PerlinLight.jpg

       

      Permalinks

       2 mayo 2016 a las 15:59

      Un permalink permite enlaces directos a tiddlers individuales de un TiddlyWiki

      Permalinks sencillos

      La forma más simple de un permalink es un enlace sencillo adjunto a la dirección de base con #:

      https://tiddlywiki.com/#HelloThere

      El título del tiddler puede contener espacios si es necesario:

      https://tiddlywiki.com/#Using TiddlyWiki on Node.js

      No es necesario encerrar el título en corchetes dobles, aunque si lo haces, no pasa nada, porque se elmininan.

      Permalinks al StoryRiver

      El permalink también puede definir la secuencia de tiddlers que se abre junto al tiddler principal, como hace un filtro:

      https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType

      Si el tiddler principal no está presente entre los tiddlers de la StoryRiver, se inserta automáticamente al principio, lo que significa que estos dos ejemplos apuntan al tiddler Tiddlers en la secuencia Tiddlers, Tags, TiddlerFields:

      https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields

      https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields

      También es posible definir un filtro sin especificar un tiddler en concreto:

      https://tiddlywiki.com/#:[tags[task]]

      Codificación de URL's

      Existen restricciones técnicas a los caracteres que pueden usarse en una URL. Para permitir apuntar a cualquier tiddler, los caracteres no permitidos están sujetos a un proceso llamado codificación, mediante el cual los caracteres problemáticos se sustituyen por un código numérico, también llamado código por ciento. Así, por ejemplo, el caracter que representa un espacio se sustituye por el código %20.

      Tanto el título del tiddler como el filtro de la historia deben codificarse para URL (no así los dos puntos). ~Tiddlywiki genera URL's debidamente codificadas que pueden tener un aspecto bastante aterrador. Sin embargo, en la práctica, los navegadores procesan todos los caracteres en fragmentos de URL, así que cuando creas permalinks de forma manual puedes ignorar la codificación URL.

      Comportamiento de los permalinks

      Dos importantes aspectos del comportamiento de los permalinks en TiddlyWiki pueden controlarse con las opciones de la pestaña Avanzado/Configuración:

      • Actualizar o no la barra del navegador según se navega para que refleje los cambios que se producen al abrir nuevos tiddlers en la historia y en tal caso, si la actualización incluye la secuencia completa de tiddlers navegados
      • Actualizar o no el historial del navegador, de modo que se pueda retroceder en la apertura de tiddlers mediante los botones Adelante y Atrás del navegador (desactivado por defecto)

      Escribir o navegar a un permalink siempre hará que el navegador lo procese, lo que abre y cierra tiddlers del modo que el permalink requiere, en lugar de, por ejemplo, añadir el permalink a la vista actual de tiddlers.

      Detalles técnicos

      Al iniciarse y cada vez que un permalink varía dinámicamente –editando la barra de direcciones, por ejemplo–, TIddlyWiki procesa los permalinks conforme a las siguientes reglas.

      1. Si el permalink contiene dos puntos, considera la cadena anterior como target y la posterior como filtro del StoryRiver
      2. Si no contiene dos puntos, considera toda la cadena como target y el filtro como "no especificado"
      3. Si no se especifica filtro, pero sí un target, al arrancar considera que el filtro está en blanco. Si tampoco se especifica target, considera a los tiddlers por defecto como tal.
      4. Fuera del proceso de arranque, considera la actual lista de tiddlers de la historia un filtro no especificado
      5. Considera los tiddlers abiertos como lista de tiddlers del permalink
      6. Si se especifica target, pero no está abierto, lo añade al principio de la lista
      7. Si se especifica target, lo pone en foco. De otro modo, lo pone en el primer tiddler de la lista

      "PESpot Lesson Planner", de Patrick Detzner

       17 abril 2016 a las 16:35

      Sistema para crear planes docentes, construido con TiddlyWiki

      http://pespot.tiddlyspot.com

      Construí un programa que sirviera de ayuda para la redacción y planifiación de leciones y que automatizara algunas de las tediosas tareas envueltas en la creación de un plan dociente. <<<

      Filosofía del tiddler

       21 abril 2016 a las 10:48

      El propósito de guardar y organizar información es poder usarla de nuevo. El valor de la información almacenada es directamente proporcional a la facilidad con la que se puede volver a usar.

      La filosofía de los tiddlers consiste en maximizar las posibilidades de reutilización de la información descomponiéndola primero en unidades mínimas, semánticamente significativas, estructurar un entramado de relaciones entre ellas y, por medio de agregación y composición, unir estos fragmentos para presentar una narración o historia.

      TiddlyWiki aspira a proporcionar un álgebra de tiddlers, una forma clara y concisa de expresar y explorar relaciones entre unidades mínimas de información significativa.

      Pinstripe.gif

       

      Places where the parser ignores WikiText

       22 enero 2022 a las 18:28

      Text enclosed by these constructs is skipped by the parser and WikiText punctuation will be ignored:

      Code Blocks in WikiTextOne of the main purposes of code blocks is to suppress wikitext expansion. Once the code block starts, the parser will ignore all WikiText punctuation until the code block ends.
      Images in WikiText[[img|literal image link text]] - the text enclosed by square braces will be ignored. This means, for example, transclusions and macro calls cannot be used to dynamically construct the link text
      Linking in WikiText[[literal link target|literal link text]] - the text enclosed by square braces will be ignored. This means, for example, transclusions and macro calls cannot be used to dynamically construct the link target or the link text
      Macro Calls<<mymacro ''notbold'' "literal text" "<<macro_expansion_ignored>>" {{transclusion_ignored}}>> - while processing the text enclosed by a macro call, the parser will follow special rules for detecting macro parameters. These rules do not include detection of WikiText. However, after the parameters are substituted into the macro definition, the result will be parsed using normal rules. This will likely result in the detection of any WikiText.

      Plataformas

       6 mayo 2016 a las 5:27

      TiddlyWiki puede usarse en varias plataformas:

      Plugin Dependencies

       28 septiembre 2019 a las 9:27

      The simplest form of dependency between plugins is that one plugin can declare itself to be a sub-plugin of another plugin by specifying that plugin in the parent-plugin field. Sub-plugins are displayed in the control panel plugin chooser within the expandable area of their parent plugin. For example, the official plugin library includes the CodeMirror Plugin and also more than a dozen sub-plugins that extend the CodeMirror plugin with optional functionality. Note that sub-plugins cannot themselves have further sub-plugins.

      Plugins can also use their dependents field to list the titles of any other plugins that should also be installed. Note that the list is not resolved recursively: dependents of dependents will not be installed.

      When installing a plugin from the plugin library, both the parent-plugin and dependents fields are used to determine any additional plugins to be installed.

      Note that the dependents field is also used by the ThemeMechanism and the LanguageMechanism to switch in dependent theme/language plugins.

      Ediciones de plugins

       5 junio 2016 a las 5:04

      Estas ediciones contienen demos de los plugins originales de TiddlyWiki y se prepararon para ediciones anteriores, que carecían de la librería de plugins.

      Plugin Fields

       28 septiembre 2019 a las 9:30

      Plugins are stored as tiddlers with the following fields:

      FieldDescription
      author(optional) Author of plugin
      dependentsList of dependencies: plugins that should be installed in order for this one to work
      descriptionDescription of plugin
      listNames of exposed plugin information tiddlers (see below)
      nameBrief name of the plugin
      plugin-priority(optional) Numerical priority (higher numbers install later, the core plugin has a priority of zero
      plugin-typeGenerally plugin, language or theme; see PluginMechanism for details
      parent-plugin(optional) New in: 5.1.22 Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser
      source(optional) Source URL of plugin
      textJSON encoding of the list of tiddlers comprising the plugin
      titleTitle of plugin
      typeMust be application/json
      version(optional) Version string (should conform to SemanticVersioning convention)

      Plugin Information Tiddlers

       15 octubre 2016 a las 13:17

      Information Tiddlers for Plugins

      Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the control panel.

      Plugins should provide an icon contained in a tiddler with the title formed of <plugin-name>/icon (for example, $:/core/icon).

      Plugins expose the names of the individual information tabs that they wish to display in the list field of the plugin tiddler. By convention, some or all of the following should be provided:

      • readme: basic information about the plugin
      • license: the license under which the plugin is published

      The title of the associated information tiddler must be formed as follows:

      1. $:/<plugin-name>/<current-language>/<tab-name> (for example, $:/core/en-GB/readme)
      2. $:/<plugin-name>/<tab-name> (for example, $:/core/readme)

      Thus, plugins can provide language-specific versions of each information tiddler.

      Note that information tiddlers should not reference other tiddlers within the plugin. This is because plugins containing themes or languages are dynamically switched in and out as they are selected, and so their information tiddlers may not be available for viewing. The control panel uses the 'subtiddler' attribute of the TranscludeWidget to access these tiddlers, which works independently of the plugin switching mechanism.

      Plugin Ordering

       28 junio 2022 a las 17:01

      Using the Node.js client-server configuration plugins are activated in the following order:

      1. Plugins found using the OS environment variables
      2. Plugins stored in the wiki /plugins path
      3. Plugins specified in the command line
      4. Plugins imported by drag and drop as wiki content

      Important:

      • Elements lower in the list take precedence
      • Including a plugin as an ordinary tiddler by drag and drop into the browser, will result in the plugin only being active in the browser
        • It will not be available under Node.js

      Option 1:

      • Using a Node.js configuration option 1 is the most common one
      • It lowers maintenence, because all plugins can be updated in one go

      Option 2:

      • Option 2 is preferred if you want to work with a fixed configuration
      • Plugin updates only effect the corresponding wiki

      Option 3:

      • This option allows to add and start an edition without the need to overwrite an existing tiddlywiki.info file
      • It allows you to start any edition as a client-server edition, even if the tiddlywiki.info file didn't specify it.

      Option 4:

      • Is the exact same mechanism used for a single-file wiki
      • This mechanism should only be used in a Node.js configuration for testing and debugging purposes, since the plugins are stored in the tiddlers/ directory

      Plugin Types

       14 noviembre 2021 a las 22:26

      Plugins have a plugin-type field that determines how it is treated. The following values are defined by the core:

      • plugin - an ordinary plugin
      • theme - a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins)
      • language - a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins)

      The following plugin types are used internally by the core:

      While not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate view template segment.

      By default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the plugintiddlers Operator). Setting a configuration tiddler $:/config/RegisterPluginType/<plugin-type> to yes will cause the tiddlers within the plugin to be registered as shadow tiddlers.

      PluginFolders

       13 junio 2022 a las 13:35

      Working with Plugin Folders

      • Arrange the PluginFolders containing the plugins in a convenient shared location
      • Use environment variables to tell TiddlyWiki to search those folders.
      • The plugins can be referenced in tiddlywiki.info by their name (e.g. tiddlytools/magic)
      • Place the PluginFolders containing the plugins in a plugins folder within the wiki folder. TiddlyWiki will attempt to include every subfolder as a plugin. Do not add the plugin names to tiddlywiki.info. Do not add the PluginFolders under a specific namespace:
      ├── plugins/
      │   ├── relink/
      │   │   ├── js/
      │   │   ├── tiddlers/
      │   │   └── plugin.info
      │   └── relink-markdown/
      │       ├── js/
      │       ├── plugin.info
      │       └── readme.tid
      ├── tiddlers/
      └── tiddlywiki.info

      Plugin.info File

      On the server, plugins can be stored as ordinary JSON tiddlers but it is often more convenient to store them as separate tiddler files within folders. Plugin folders must contain a plugin.info file that contains the metadata for the plugin. It can also optionally identify files external to the plugin folder that should be loaded as tiddlers.

      The plugin.info file should contain the following JSON structure:

      The JSON structure for plugin tiddlers is as follows:

      {
      	"title": "$:/plugins/publisher/name",
      	"name": "name",
      	"description": "An exemplary plugin for demonstration purposes",
      	"author": "JeremyRuston",
      	"version": "1.2.3-alpha3",
      	"core-version": ">=5.0.0",
      	"source": "https://tiddlywiki.com/MyPlugin",
      	"plugin-type": "plugin",
      	"list": "readme license history"
      }

      By convention, the titles of the individual tiddlers are prefixed with the title of the containing plugin, but they are not restricted to do so.

      Note that if the version field is omitted from a plugin.info file when the plugin folder is packed then it is automatically filled in by the core to the current core version number. This is to ensure that all the core plugins carry the correct version number. Generally plugin authors will want to ensure that they do explicitly specify a version number.

      PluginMechanism

       13 junio 2022 a las 13:44

      Introduction

      Plugins are bundles of tiddlers that are distributed and managed as a single unit. Users can install them with drag and drop, or using the plugin library.

      New in: 5.1.22 Plugins that contain JavaScript modules require a reload of the wiki before they will work. Plugins that do not contain JavaScript modules are automatically dynamically loaded and unloaded.

      Plugins can be used to package any tiddler content, including JavaScript modules that extend and enhance the core TiddlyWiki5 functionality. The tiddlers within registered plugins are ShadowTiddlers: they can be freely overwritten by creating a tiddler with the same title, but deleting that tiddler restores the underlying tiddler value from the plugin.

      By convention, plugin titles have the form $:/plugins/<publisher>/<name>. Plugins that are part of the core TiddlyWiki distribution have titles of the form $:/plugins/tiddlywiki/<name>.

      When running TiddlyWiki under Node.js, plugins can also be stored as individual tiddler files in PluginFolders.

      Plugin Types

      Plugins have a plugin-type field that determines how it is treated. The following values are defined by the core:

      • plugin - an ordinary plugin
      • theme - a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins)
      • language - a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins)

      The following plugin types are used internally by the core:

      While not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate view template segment.

      By default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the plugintiddlers Operator). Setting a configuration tiddler $:/config/RegisterPluginType/<plugin-type> to yes will cause the tiddlers within the plugin to be registered as shadow tiddlers.

      Plugin Dependencies

      The simplest form of dependency between plugins is that one plugin can declare itself to be a sub-plugin of another plugin by specifying that plugin in the parent-plugin field. Sub-plugins are displayed in the control panel plugin chooser within the expandable area of their parent plugin. For example, the official plugin library includes the CodeMirror Plugin and also more than a dozen sub-plugins that extend the CodeMirror plugin with optional functionality. Note that sub-plugins cannot themselves have further sub-plugins.

      Plugins can also use their dependents field to list the titles of any other plugins that should also be installed. Note that the list is not resolved recursively: dependents of dependents will not be installed.

      When installing a plugin from the plugin library, both the parent-plugin and dependents fields are used to determine any additional plugins to be installed.

      Note that the dependents field is also used by the ThemeMechanism and the LanguageMechanism to switch in dependent theme/language plugins.

      Plugin Ordering

      Using the Node.js client-server configuration plugins are activated in the following order:

      1. Plugins found using the OS environment variables
      2. Plugins stored in the wiki /plugins path
      3. Plugins specified in the command line
      4. Plugins imported by drag and drop as wiki content

      Important:

      • Elements lower in the list take precedence
      • Including a plugin as an ordinary tiddler by drag and drop into the browser, will result in the plugin only being active in the browser
        • It will not be available under Node.js

      Option 1:

      • Using a Node.js configuration option 1 is the most common one
      • It lowers maintenence, because all plugins can be updated in one go

      Option 2:

      • Option 2 is preferred if you want to work with a fixed configuration
      • Plugin updates only effect the corresponding wiki

      Option 3:

      • This option allows to add and start an edition without the need to overwrite an existing tiddlywiki.info file
      • It allows you to start any edition as a client-server edition, even if the tiddlywiki.info file didn't specify it.

      Option 4:

      • Is the exact same mechanism used for a single-file wiki
      • This mechanism should only be used in a Node.js configuration for testing and debugging purposes, since the plugins are stored in the tiddlers/ directory

      Plugin Fields

      Plugins are stored as tiddlers with the following fields:

      FieldDescription
      author(optional) Author of plugin
      dependentsList of dependencies: plugins that should be installed in order for this one to work
      descriptionDescription of plugin
      listNames of exposed plugin information tiddlers (see below)
      nameBrief name of the plugin
      plugin-priority(optional) Numerical priority (higher numbers install later, the core plugin has a priority of zero
      plugin-typeGenerally plugin, language or theme; see PluginMechanism for details
      parent-plugin(optional) New in: 5.1.22 Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser
      source(optional) Source URL of plugin
      textJSON encoding of the list of tiddlers comprising the plugin
      titleTitle of plugin
      typeMust be application/json
      version(optional) Version string (should conform to SemanticVersioning convention)

      More information

      Complementos y extensiones

       4 mayo 2016 a las 15:54

      Los complementos y extensiones (plugins) de TiddlyWiki son componentes opcionales que modifican y extienden su funcionalidad. Puedes instalarlos desde la librería oficial o desde las distintas páginas de recursos publicadas por la comunidad.

      Estructuralmente, un plugin es un paquete de tiddlers distribuido conjuntamente como un único tiddler, que puede ser instalado, copiado o borrado como una sola unidad. Cada tiddler que forma parte del plugin es un tiddler oculto. Aquí puedes profundizar sobre el tema sobre cómo funcionan y se implementan a nivel interno.

      Los complementos y extensiones pueden contener módulos de JavaScript, hojas de estilos y plantillas. También pueden usarse para distribuir texto común, imágenes, audio o cualquier otro tipo de contenidos.

      Plugins by TheDiveO

       6 enero 2021 a las 15:10

      A collection of plugins from TheDiveO.

      http://thediveo.github.io

      TheDiveO's Third Flow plugin construction system:

      The ThirdFlow plugin brings to you another way to develop customisation plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.

      TheDiveO's FontAwesome plugin:

      The FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customisation plugin instead, so nothing else to install.

      PluginsCS

       17 junio 2022 a las 13:45

      plugintiddlers Operator

       3 febrero 2015 a las 19:03
      purposeselect all shadow titles in the input plugins
      inputa selection of plugin tiddler titles
      parameternone
      outputall shadow titles contained in the input plugins

      Learn more about how to use Filters

      plugintiddlers Operator (Examples)

       23 enero 2015 a las 22:30

      [[$:/core]plugintiddlers[]]

      PopupMechanism

       23 diciembre 2015 a las 22:27

      The popup mechanism allows blocks of content to be selectively displayed and positioned with respect to an anchor. It has several parts:

      • StateTiddlers to record whether a popup is currently displayed or not
      • The RevealWidget to selectively display the popup content
        • New in: 5.2.4 For positioning the popups relative or absolute coordinates can be used. See Coordinate Systems for more information about usage and format.
        • For "sticky" popups — those that don't close when clicking inside one — set the class attribute to tc-popup-keep
      • The ButtonWidget to trigger the display of the popup by setting the state tiddler appropriately

      power Operator

       20 noviembre 2020 a las 4:08
      purposetreating each input title as a number, raise it to the power of the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, but with each one raised to the power of N

      Learn more about how to use Filters

      power Operator (Examples)

       20 noviembre 2020 a las 4:15

      [[3]power[3]]

      9 +[power[2]]

      Pragma

       22 enero 2022 a las 18:28

      See Pragmas.

      Pragma: \define

       19 abril 2023 a las 11:31

      The \define pragma is used to define macros. It is a shortcut syntax for the SetVariableWidget.

      The usual form allows macros to span multiple lines.

      \define <macro-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)
      <multiple-line-definition-text>
      \end [<macro-name>]

      Note that the \end marker can optionally specify the name of the macro to which it relates which allows macro definitions to be nested.

      There is also a single line form for shorter macros:

      \define <macro-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>

      The first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro.

      The lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until \end appears on a line by itself:

      \define sayhi(name:"Bugs Bunny",address:"Rabbit Hole Hill")
      Hi, I'm $name$ and I live in $address$.
      \end
      

      Alternatively, the entire definition can be presented on a single line without an \end marker:

      \define sayhi(name:"Bugs Bunny") Hi, I'm $name$.

      Macro definitions can be nested by specifying the name of the macro in the \end marker. For example:

      \define special-button(caption:"Click me")
      \define actions()
      <$action-sendmessage $message="tm-notify" $param="HelloThere"/>
      \end actions
      <$button actions=<<actions>>>
      $caption$
      </$button>
      \end special-button
      
      <<special-button>>
      

      Este es su aspecto:

      \define special-button(caption:"Click me") \define actions() \end actions \end special-button

      A more formal presentation of this syntax is also available.

      Pragma: \function

       19 abril 2023 a las 11:31

      New in: 5.3.0 The \function pragma is used to define custom functions. It is a shortcut syntax for the SetVariableWidget.

      The usual form allows custom functions to span multiple lines:

      \function <function-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)
      <multiple-line-definition-text>
      \end [<function-name>]

      Note that the \end marker can optionally specify the name of the function to which it relates, enabling function definitions to be nested inside procedures, macros or widget definitions.

      There is also a single line form for shorter functions:

      \function <function-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>

      The first line of the definition specifies the function name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the function. The lines that follow contain the text of the function (i.e. the snippet represented by the function name), until \end appears on a line by itself:

      See Functions for more details.

      Pragma: \import

       19 abril 2023 a las 11:31

      The \import pragma is used to import definitions from other tiddlers that are identified with a filter. It is a shortcut syntax for the ImportVariablesWidget.

      \import <filter>

      For example:

      \import [all[shadows+tiddlers]tag[$:/tags/Global]]

      Pragma: \parameters

       18 mayo 2023 a las 15:35

      New in: 5.3.0 The \parameters pragma is used within procedure and widget definitions to declare the parameters that are expected, and their default values. It is a shortcut syntax for the ParametersWidget.

      \parameters (<name>[:<default-value>],<name>[:<default-value>]...)

      For example:

      \parameters (firstname:"Joe",lastname:"Blogs")

      To illustrate the use of \parameters pragma, see Core Icons which are parameterised. The first parameter size specified the size at which the icon should be rendered. For example see the text of $:/core/images/print-button tiddler. The first line defines the size parameter as \parameters (size:"22pt")

      {{$:/core/images/print-button|16px}}
      <$transclude $tiddler="$:/core/images/print-button" size="32px"/>
      

      Este es su aspecto:

      In the above example, the first line shows a simple transclusion of $:/core/images/print-button icon with size parameter passed by position and is set to 16px. The second line is a transclusion of image with size parameter passed by name and is set to 32px.

      Pragma: \parsermode

       17 enero 2023 a las 11:22

      New in: 5.2.4

      The \parsermode pragma adjusts whether the remaining text is parsed in block mode or inline mode. See WikiText Parser Modes for details of parser modes.

      As with all pragmas, setting the parser mode this way can only be done at the start of text, not within the main body of the text.

      \parsermode block or \parsermode inline

      Pragma: \procedure

       24 julio 2023 a las 19:40

      New in: 5.3.0 The \procedure pragma is used to define procedures. It is a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget.

      The usual form allows procedures to span multiple lines:

      \procedure <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)
      <multiple-line-definition-text>
      \end [<procedure-name>]

      Note that the \end marker can optionally specify the name of the procedure to which it relates which allows procedure definitions to be nested.

      There is also a single line form for shorter procedures:

      \procedure <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>

      The first line of the definition specifies the procedure name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the procedure. The lines that follow contain the text of the procedure text (i.e. the snippet represented by the procedure name), until \end appears on a line by itself:

      For example:

      \procedure sayhi(name:"Bugs Bunny")
      Hi, I'm <<name>>.
      \end
      
      <<sayhi "Jeremy">>

      Alternatively, the entire definition can be presented on a single line without an \end marker:

      \procedure sayhi(name:"Bugs Bunny") Hi, I'm <<name>>.

      Procedure definitions can be nested by specifying the name of the procedure in the \end marker. For example:

      \procedure special-button(caption:"Click me")
      \procedure actions()
      <$action-sendmessage $message="tm-notify" $param="HelloThere"/>
      \end actions
      <$button actions=<<actions>>>
      <<caption>>
      </$button>
      \end special-button
      
      <<special-button>>
      

      Este es su aspecto:

      \procedure special-button(caption:"Click me") \procedure actions() \end actions \end special-button

      Use of Parameters Inside Procedures

      The parameters can be declared inside procedures. The parameters widget is necessary in a procedure if you want to use computed default values. For example:

      \procedure myproc()
      <$parameters name={{$:/SiteTitle}} desc={{$:/SiteSubtitle}}>
      This is <<name>> demonstrates <<desc>>.
      </$parameters>
      \end
      
      <<myproc>>
      

      Este es su aspecto:

      \procedure myproc() This is TiddlyWiki demonstrates Cuaderno de notas personal no-lineal en la web. \end

      Caution in Using Positional Parameters

      Procedures are a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget, so generally there is no reason to have multiple parameters widgets within a definition. In the below example when passing x to myproc, it will also be set to a:

      \procedure myproc(x:10)
      \parameters (a:100, b:200)
      
      x=<<x>>, a=<<a>>, b=<<b>>
      \end
      
      <<myproc 50>>
      

      Este es su aspecto:

      \procedure myproc(x:10) \parameters (a:100, b:200)

      x=, a=, b= \end

      The reason for that result is clearer if we consider an equivalent with explicit parameters widgets.

      <$let myprog="""
      \parameters (x:10)
      \parameters (a:100, b:200)
      
      x=<<x>>, a=<<a>>, b=<<b>>
      """>
      <<myprog 50>>
      </$let>

      Este es su aspecto:

      x=50, a=50, b=200

      This is because those two parameters widgets are entirely independent. They are both processed as if the other parameter widget is not there.

      The positional parameters are only required when using the parameterised transclusion shortcut syntax, and that in other cases it is generally clearer to use named parameters.

      To prevent such situation of above example, pass parameters by name as below.

      \procedure myproc(x:10)
      \parameters (a:100, b:200)
      
      x=<<x>>, a=<<a>>, b=<<b>>
      \end
      
      <<myproc x:50>>
      

      Este es su aspecto:

      \procedure myproc(x:10) \parameters (a:100, b:200)

      x=, a=, b= \end

      Pragma: \rules

       24 julio 2023 a las 19:40

      The \rules pragma adjusts the set of parser rules used to parse the remaining text.

      \rules only|except <rule-list>

      The list of available parser rules can be consulted in $:/ControlPanel -> Info -> Advanced -> Parsing.

      For example, in stylesheets it is typical to only use the rules associated with macros and transclusions:

      \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline

      Some users prefer not to use CamelCase links:

      \rules except prettylink

      Pragma: \whitespace

       21 septiembre 2023 a las 19:03

      New in: 5.1.15 The \whitespace pragma determines how spaces and newlines are treated within wikitext.

      • notrim – whitespace text is not subject to special processing (the default)
      • trim – whitespace text is ignored

      Note that the processing only applies to the printable text, and not to other text, such as the values of attributes.

      The whitespace setting only applies to the parsed content in which it appears. The setting is inherited by embedded Procedure Definitions and Custom Widgets definitions, but is not inherited by Macro definitions.

      \whitespace trim|notrim

      For example:

      \whitespace trim

      Pragma: \widget

       19 abril 2023 a las 11:31

      New in: 5.3.0 The \widget pragma is used to define custom widgets. It is a shortcut syntax for the SetVariableWidget with an implicit ParametersWidget.

      The usual form allows custom widgets to span multiple lines:

      \widget <widget-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...)
      <multiple-line-definition-text>
      \end [<widget-name>]

      Note that the \end marker can optionally specify the name of the widget to which it relates which allows widget definitions to be nested.

      There is also a single line form for shorter widgets:

      \widget <widget-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>

      The first line of the definition specifies the widget name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the widget. The lines that follow contain the text of the widget text (i.e. the snippet represented by the widget name), until \end appears on a line by itself:

      See Custom Widgets for more details.

      Pragmas

       21 julio 2023 a las 7:44

      A pragma is a special component of WikiText that provides control over the way the remaining text is parsed.

      Pragmas occupy lines that start with \. They can only appear at the start of the text of a tiddler, but blank lines and comments are allowed between them. If a pragma appears in the main body of the text, it is treated as if it was ordinary text.

      New in: 5.2.6 Pragmas can have preceding optional whitespace characters.

      The following pragmas are available:

      precision Operator

       11 junio 2019 a las 16:14
      purposeconvert each number to a string with N significant digits
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers with N significant digits

      Learn more about how to use Filters

      New in: 5.1.20 See Mathematics Operators for an overview.

      The precision operator returns a string representation of the input number that has exactly the specified number of significant digits, using whichever is shorter of exponential or fixed notation.

      Examples

      precision Operator (Examples)

       11 junio 2019 a las 16:42

      123456789 +[precision[3]]

      123456789 +[precision[13]]

      1.23E23 +[precision[90]]

      prefix Operator

       18 febrero 2022 a las 2:34
      purposefilter the input titles by how they start
      inputa selection of titles
      suffixthe prefix operator uses a rich suffix, see below for details
      parameterS = a string of characters
      outputthose input titles that start with S
      ! outputthose input tiddlers that do not start with S

      Learn more about how to use Filters

      New in: 5.2.2

      The prefix operator uses an extended syntax that permits multiple flags to be passed:

      [prefix:<flag list>[<operand>]]
      • flag list: a comma delimited list of flags
      • operand: filter operand

      The available flags are:

      • casesensitive: (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different
      • caseinsensitive: overrides the default so that upper and lower case letters are considered identical for matching purposes

      Examples

      prefix Operator (Examples)

       18 febrero 2022 a las 2:34

      [tag[task]!prefix[Go]]

      [tag[task]!prefix:caseinsensitive[go]]

      [prefix[$:/languages/]]

      [prefix[$:/]]
      → same as [is[system]]

      prepend Operator

       8 noviembre 2015 a las 5:17
      purposeprepend a range of items from an array to the list
      inputa list of items
      suffixan integer N, defaulting to all
      parameterlist = the array of items to be prepended to the head of the list
      outputa list with items prepended from the head of the operand array
      ! outputa list with items prepended from the tail of the operand array

      Learn more about how to use Filters

      prepend Operator (Examples)

       8 noviembre 2015 a las 5:17

      These examples make use of the Days of the Week tiddler.

      The operator may be used to prepend a number of items to the list.

      [list[Days of the Week]prepend[Yesterday Today Tomorrow]]

      The operand may list only items without spaces – to include items with spaces, use a reference to an array e.g. prepend the last three short days of the week to the list

      [list[Days of the Week]!prepend:3{Days of the Week!!short}]

      Cargar los últimos tiddlers abiertos al inicio

       27 abril 2016 a las 6:36

      Generalmente, TiddlyWiki muestra al inicio los tiddlers especificados en $:/DefautTiddlers

      A veces, sin embargo, es útil mostrar los mismos tiddlers que estaban abiertos cuando se guardó el archivo. Para hacerlo, en $:/DefautTiddlers en lugar una lista de tiddlers, debe especificarse el siguiente filtro:

      [list[$:/StoryList]]

      Este filtro devuelve la lista de tiddlers que figuran en $:/StoryList, que es donde el sistema almacena el histórico de tiddlers.

      previous Operator

       3 febrero 2015 a las 19:05
      purposefind which titles in a list field precede the input ones
      inputa selection of titles
      parameterT = a tiddler title
      outputa selection containing each title that immediately precedes each of the input titles in the list field of T

      Learn more about how to use Filters

      Each input title is processed in turn, and its predecessor is located in the list field and appended to the output. If a title is not listed in the field, or is the first item there, then it contributes nothing to the output.

      Examples

      previous Operator (Examples)

       23 enero 2015 a las 22:34

      These examples make use of the Days of the Week tiddler.

      [[Wednesday]previous[Days of the Week]]

      [[Monday]previous[Days of the Week]]

      Tuesday Wednesday Thursday +[previous[Days of the Week]]

      Procedure Calls

       19 abril 2023 a las 11:31

      Introduction

      This tiddler describes the different ways in which procedure can be called.

      Procedure Call Transclusion Shortcut

      To call a procedure, place <<double angle brackets>> around the name and any parameter values.

      <<my-procedure param:"This is the parameter value">>

      By default, parameters are listed in the same order as in the procedure definition. A parameter can be labelled with its name and a colon to allow them to be listed in a different order.

      If no value is specified for a parameter, the default value given for that parameter in the procedure definition is used instead. (If no default value was defined, the parameter is blank).

      Each parameter value can be enclosed in 'single quotes', "double quotes", """triple double quotes""" or [[double square brackets]]. Triple double quotes allow a value to contain almost anything. If a value contains no spaces or single or double quotes, it requires no delimiters.

      See the discussion about parser modes

      Procedure Calls with $transclude Widget

      The shortcut syntax expands to the $transclude widget with the $variable attribute specifying the name of the procedure to transclude.

      <$transclude $variable="my-procedure" param="This is the parameter value"/>

      The widget itself offers greater flexibility than the shortcut syntax, including the ability to specify dynamic parameter values.

      Assigning Procedure Calls to Attribute Values

      The text of a procedure can be directly assigned to an attribute of a widget or HTML element. The result of the procedure is not wikified, which means that parameter handling does not take place.

      <div class=<<myclasses>>>
      ...
      </div>

      Using Procedure Calls in Filters

      Procedure calls can be used in filters. The text is not wikified which again means that the parameters will be ignored.

      <$list filter="[<my-procedure>]">
      ...
      </$list>

      Procedure Definitions

       21 septiembre 2023 a las 19:03

      Introduction

      This tiddler describes the different ways in which Procedures can be defined.

      Procedure Definition Pragma

      Procedures are created using the Pragma: \procedure at the start of a tiddler. The definitions are available in the rest of the tiddler that defines them, plus any tiddlers that it transcludes.

      \procedure my-procedure(param)
      This is the procedure text (param=<<param>>)
      \end

      Note that the Pragma: \whitespace setting is inherited from the parsing context in which the procedure definition occurs. That means that a tiddler containing multiple procedure definitions only needs a single whitespace pragma at the top of the tiddler, and the setting will be automatically inherited by the procedure definitions without needing the pragma to be repeated.

      Procedure Definition with Set Widget

      Procedures are implemented as a special kind of variable and so internally are actually defined with a $set widget.

      <$set name="my-procedure" value="This is the procedure text">
      ...
      </$set>
      Note
      that it is not currently possible to specify parameters when defining a procedure with the $set widget.

      Importing Procedure Definitions

      The Pragma: \import or $importvariables widget can be used to copy procedure definitions from another tiddler.

      $:/tags/Global Tag

      Global procedures can be defined using the SystemTag: $:/tags/Global.

      The tag SystemTag: $:/tags/Global/View is used to define procedures that should only be available within the main view template and the preview panel.

      The tag SystemTag: $:/tags/Global/View/Body is used to define procedures that should only be available within the main view template body and the preview panel.

      Procedure Parameter Handling

       19 abril 2023 a las 11:31

      Introduction

      Procedure parameters are made available as variables when the procedure contents are wikified.

      Accessing Parameters as Variables

      When procedures are wikified, the parameters can be accessed as variables.

      For example:

      \procedure say-hi(name,address)
      Hi, I'm <<name>> and I live in <<address>>.
      \end
      
      <<say-hi name:"Bugs" address:"Rabbit Hole Hill">>
      

      Este es su aspecto:

      \procedure say-hi(name,address) Hi, I'm and I live in . \end

      Accessing parameters as variables only works in procedures that are wikified and not, for example, when a procedure is used as an attribute value.

      Procedures

       19 abril 2023 a las 11:31

      Introduction

      New in: 5.3.0 A procedure is a named snippet of text. They are typically defined with the Pragma: \procedure:

      \procedure my-procedure(parameter:"Default value")
      This is the procedure, and the parameter is <<parameter>>.
      \end

      The name wrapped in double angled brackets is used a shorthand way of transcluding the snippet. Each of these procedure calls can supply a different set of parameters:

      <<my-procedure>>
      <<my-procedure "The parameter">>

      The parameters that are specified in the procedure call are made available as variables.

      How Procedures Work

      Procedures are implemented as a special kind of variable. The only thing that distinguishes them from ordinary variables is the way that the parameters are handled.

      Using Procedures

      Product Hunt Link

       

      product Operator

       11 junio 2019 a las 17:02
      purposeproduce the product of the input numbers
      inputa selection of titles
      outputthe result of multiplying together the input as numbers

      Learn more about how to use Filters

      product Operator (Examples)

       11 junio 2019 a las 17:02

      =1 =2 =3 =4 =5 +[product[]]

      [tag[HelloThere]get[text]length[]product[]]

      ProductHunt-Badge.svg

       

      Projectify by Nicolas Petton

       7 abril 2022 a las 19:12

      Project & todo management for TiddlyWiki.

      https://github.com/ThaddeusJiang/Projectify

      Projectify is a TiddlyWiki plugin for managing projects & todo lists, inspired by products like Todoist and Basecamp.

      Projectify features:

      • An inbox for collecting tasks and thoughts
      • Projects to structure tasks together into separate todo-lists
      • Support for scheduling tasks
      • A dashboard to quickly view all projects, the inbox, or scheduled tasks

      Note: The original site, https://projectify.wiki, no longer exists. The provided site is a maintained fork, though not by the original creator.

      prueba

       22 abril 2016 a las 14:39

      blablabla

      putafter Operator

       8 noviembre 2015 a las 5:18
      purposemove N trailing items after the marker
      inputa list of items
      suffixan integer N, defaulting to 1
      parametermarker = the list item to be used as a marker
      outputre-ordered list of items

      Learn more about how to use Filters

      putafter Operator (Examples)

       8 noviembre 2015 a las 5:18

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[putafter[Wednesday]]

      [list[Days of the Week]] +[putafter:2[Tuesday]]

      [list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putafter:3[Tuesday]]

      putbefore Operator

       
      purposemove N trailing items before the marker
      inputa selection of titles
      suffixan integer N, defaulting to 1
      parametermarker = an integer, defaulting to 1
      outputthe first N input titles

      Learn more about how to use Filters

      putbefore Operator (Examples)

       8 noviembre 2015 a las 5:19

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[putbefore[Wednesday]]

      [list[Days of the Week]] +[putbefore:2[Tuesday]]

      [list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putbefore:3[Tuesday]]

      putfirst Operator

       8 noviembre 2015 a las 5:19
      purposemove N trailing items to the head of the list
      inputa list of items
      suffixan integer N, defaulting to 1
      parameterignored
      outputre-ordered list of items

      Learn more about how to use Filters

      putfirst Operator (Examples)

       8 noviembre 2015 a las 5:19

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[putfirst[]]

      [list[Days of the Week]] +[putfirst:2[]]

      [list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putfirst:-2[]]

      putlast Operator

       8 noviembre 2015 a las 5:20
      purposemove N leading items to the tail of the list
      inputa list of items
      suffixan integer N, defaulting to 1
      parameterignored
      outputre-ordered list of items

      Learn more about how to use Filters

      putlast Operator (Examples)

       8 noviembre 2015 a las 5:20

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[putlast[]]

      [list[Days of the Week]] +[putlast:2[]]

      one two three [list[Days of the Week]] +[putlast:-3[]]

      Q: How can I style a tiddler if it has "this" AND "that" tag?

       11 abril 2018 a las 18:39

      Answer: New in: 5.1.16

      If tiddler has both: this AND tag that create an orange border.

      [data-tags*="bar"][data-tags*="froz"] {
        border: 2px solid orange;
      }

      If your CSS looks like this:

      [data-tags~="this"] {
        border: 2px solid blue;
      }
      
      [data-tags~="that"] {
        border: 2px solid red;
      }

      this creates a blue border that creates a red border If you swap positions, you get it the other way around.

      Learn more about possible attributes!

      Q: How can I style a tiddler if it has "this" OR "that" tag?

       11 abril 2018 a las 18:39

      Answer: New in: 5.1.16

      Either tag this or tag that create a red border.

      [data-tags~="this"],
      [data-tags~="that"] {
        border: 2px solid red;
      }

      Learn more about possible attributes!

      Q: How can I use a custom field to style a tiddler?

       11 abril 2018 a las 18:39

      Consider the following usecase: New in: 5.1.16

      There is a field named: rank, which can hold different values eg: species.

      Answer:

      The idea is now: We dynamically create the stylesheet. The style-sheet can look like this:

      title: myStyles
      tags: $:/tags/Stylesheet

      <$list filter="[rank[species]]"> 
      [data-tiddler-title^="<$view field=title/>"] .tc-tiddler-body {
          column-count: 2;
      }
      </$list> 

      This creates a CSS rule for every tiddler-title, that has a field rank and value species.

      Learn more about possible attributes!

      Q: Is there a way to create dynamic stylesheets?

       11 abril 2018 a las 18:39

      Q: What if a tiddler has no tags?

       11 abril 2018 a las 18:39

      Answer: New in: 5.1.16

      • If a tiddler has no tags, but needs styling use: data-tiddler-title as CSS selector
        • There is only one tiddler
      • If a user wants to style system tiddlers in a custom way: use: [data-tiddler-title^="$:"/] as a selector
        • using the TW namespace functionality
      • If the user wants special behaviour for tagged tiddlers. eg: Learning
        • use: [data-tags*="Learning"] as CSS selector.

      The names I'm using are only used for documentation purpose, without changing the existing wiki. I don't want, that the docs has side effects.

      Learn more about possible attributes!

      qualify Macro

       21 febrero 2015 a las 22:38

      The qualify macro is an important part of the StateMechanism.

      It returns a unique string that encodes its position within the widget tree, as identified by the stack of transcluded tiddlers that lead to that position.

      It is implemented using the transclusion variable.

      Parameters

      title
      The prefix for the returned string, normally a tiddler title

      Examples

      qualify Macro (Examples)

       

      The results returned by the qualify macro depend on its location in the transclusion stack.

      The two examples below are identical, but produce different results because the second one has been transcluded from another tiddler.

      Each example shows the result of calling qualify and then the value of the transclusion variable.

      <ul>
      <li><code><<qualify "BaseTiddler">></code></li>
      <li><code><<transclusion>></code></li>
      </ul>

      <ul>
      <li><code><<qualify "BaseTiddler">></code></li>
      <li><code><<transclusion>></code></li>
      </ul>

      QualifyWidget

       25 enero 2022 a las 16:30

      Introduction

      The $qualify widget sets a variable to a unique string that encodes its position within the widget tree, as identified by the stack of transcluded tiddlers that lead to that position.

      Internally, it is implemented using the transclusion variable.

      Content and Attributes

      The content of the $qualify widget is the scope for the value assigned to the name variable.

      AttributeDescription
      titleThe prefix for the string, normally a tiddler title
      nameThe name of the variable to be set to the unique string

      Examples

      The two examples below are identical, but produce different results because the second one has been transcluded from another tiddler.

      Each example shows the result of calling qualify and then the value of the transclusion variable.

      <$qualify title="BaseTiddler" name="iamnotanumber">
      <ul>
      <li><code><<iamnotanumber>></code></li>
      <li><code><<transclusion>></code></li>
      </ul>
      </$qualify>
      
      <$qualify title="BaseTiddler" name="iamnotanumber">
      <ul>
      <li><code><<iamnotanumber>></code></li>
      <li><code><<transclusion>></code></li>
      </ul>
      </$qualify>
      

      Remarks

      In most cases it will be simpler to use the qualify Macro.

      Quick Start

       

      Quick Start: Desktop

       

      Download the official desktop application for macOS, Windows and Linux

      Quick Start: DIY

       

      Find the configuration that is right for you to get the full benefits of TiddlyWiki

      Quick Start: Tiddlyhost

       

      The easiest way to get started with an online TiddlyWiki

      Quick Start: Xememex

       

      For companies and teams, a multiuser TiddlyWiki from Federatial

      Quine

       28 abril 2016 a las 15:35

      Wikipedia define un Quine como un programaque produce su código fuente como única salida.

      TiddlyWiki es un raro ejemplo de Quine con utilidad práctica: es esa capacidad para producir una copia de su propio código fuente lo que constituye el secreto de su capacidad para almacenar independientemente cambios en sí mismo.

      RadioWidget

       9 octubre 2021 a las 13:16

      Introduction

      The radio widget displays an HTML <input type="radio"> that reflects whether a given tiddler field has a specified value. Selecting the radio button sets to the tiddler field to the value.

      Content and Attributes

      The content of the <$radio> widget is displayed within an HTML <label> element also containing the radio button. This means that clicking on the content will have the same effect as clicking on the button itself.

      AttributeDescription
      tiddlerTitle of the tiddler to manipulate (defaults to the current tiddler)
      fieldThe field of the tiddler bound to the radio button
      index New in: 5.1.14 The index of the tiddler being DataTiddler bound to the radio button (takes precedence over field)
      default New in: 5.2.0 The default value to be used for matching if the tiddler, field or index are missing
      valueThe value for the field or index of the tiddler
      classThe CSS classes assigned to the label around the radio button New in: 5.1.14 tc-radio is always applied by default, as well as tc-radio-selected when selected
      actions New in: 5.1.23 Optional string containing ActionWidgets to be triggered when the value changes.
      The variable: actionValue is available for the actions
      disabled New in: 5.1.23 Optional. Set to "yes" to disable the radio input. Defaults to "no"

      Field Mode

      This example uses the radio widget to change the modifier field of this tiddler:

      <$radio field="modifier" value="JoeBloggs"> Joe Bloggs</$radio>
      <$radio field="modifier" value="JaneBloggs"> Jane Bloggs</$radio>

      Este es su aspecto:

      Index Mode

      Using the radio widget in index mode requires the index attribute to specify the name of the index of a DataTiddler to which the specified value is assigned.

      This example sets the Tree Frog index in the tiddler AnimalColours:

      <$tiddler tiddler="AnimalColours">
      <$radio index="Tree Frog" value="green"> green</$radio>
      <$radio index="Tree Frog" value="brown"> brown</$radio>
      </$tiddler>

      Este es su aspecto:

      Using Actions

      When you select an option below the following acitons will occur:

      The wikitext of this example is shown below:

      \define newText() value: $(actionValue)$
      
      \define radioActions()
      <$action-sendmessage $message="tm-notify" $param="RadioWidget ExampleTemplate" value=<<actionValue>> current=<<currentTiddler>> />
      <$action-createtiddler $basetitle="$:/temp/test/value" $overwrite="yes" text=<<newText>>/>
      <$action-navigate $to="$:/temp/test/value"/>
      \end
      
      !! Using Actions
      
      When you select an option below the following acitons will occur:
      
      * the value is written to $:/temp/test/value
      * the ''id'' field of tiddler: $:/temp/test will be updated
      * a notification showing the ''actionValue'' will be shown
      
      <$tiddler tiddler="$:/temp/test">
      
      <$radio field="id" value="a" actions=<<radioActions>> > Option a </$radio>
      
      <$radio field="id" value="b" actions=<<radioActions>> > Option b </$radio>
      
      <$radio field="id" value="c" actions=<<radioActions>> > Option c </$radio>
      
      </$tiddler>
      
      The wikitext of this example is shown below:
      
      <$codeblock code={{RadioWidget Example!!text}}/>
      

      RadioWidget Example

       7 marzo 2021 a las 10:20

      Using Actions

      When you select an option below the following acitons will occur:

      The wikitext of this example is shown below:

      \define newText() value: $(actionValue)$
      
      \define radioActions()
      <$action-sendmessage $message="tm-notify" $param="RadioWidget ExampleTemplate" value=<<actionValue>> current=<<currentTiddler>> />
      <$action-createtiddler $basetitle="$:/temp/test/value" $overwrite="yes" text=<<newText>>/>
      <$action-navigate $to="$:/temp/test/value"/>
      \end
      
      !! Using Actions
      
      When you select an option below the following acitons will occur:
      
      * the value is written to $:/temp/test/value
      * the ''id'' field of tiddler: $:/temp/test will be updated
      * a notification showing the ''actionValue'' will be shown
      
      <$tiddler tiddler="$:/temp/test">
      
      <$radio field="id" value="a" actions=<<radioActions>> > Option a </$radio>
      
      <$radio field="id" value="b" actions=<<radioActions>> > Option b </$radio>
      
      <$radio field="id" value="c" actions=<<radioActions>> > Option c </$radio>
      
      </$tiddler>
      
      The wikitext of this example is shown below:
      
      <$codeblock code={{RadioWidget Example!!text}}/>
      

      RadioWidget ExampleTemplate

       30 noviembre 2020 a las 18:24

      value =

      Diagramas sintácticos

       20 abril 2016 a las 16:08

      Los diagramas sintácticos o "de ferrocarril" son una forma visual de explicar las reglas sintácticas de un lenguaje de programación. Para entenderlos, hay que leerlos como si fueran planos de metro.

      Cada diagrama empieza a la izquierda y acaba a la derecha, así que simplemente sigue las líneas de principio a fin. Todas las líneas intermedias son igualmente válidas. A veces unas líneas saltan por encima de un elemento opcional, o vuelven sobre sí mismas, para indicar que ese elemento puede repetirse.

      inicioopcionalreiterado,fin

      En este ejemplo, se incluye una coma entre cada iteración del elemento reiterado. El camino señalado con una coma va de derecha a izquierda y sólo puede se puede seguir pasando una primera vez por el elemento reiterado.

      Los caracteres en caja redonda son literales, es decir, que se refieren a sí mismos. Un nombre en caja rectangular, por el contrario, se refiere a otro diagrama sintáctico.

      Los diagramas sintácticos de la documentación de TiddlyWiki se generan con el plugin Railroad.

      Diagramas sintácticos

       4 mayo 2016 a las 15:34

      Este plugin proporciona un widget para la elaboración de diagramas sintácticos en forma de imágenes SVG.

      La notación del diagrama puede guardarse en un tiddler exclusivo con el campo type definido como text/vnd.tiddlywiki.railroad, de forma que esté disponible para transclusión allí donde se necesite.

      El plugin se basa en una librería de Tab Atkins, y se ha trabajado en ella para hacerla más flexible, lo que incluye que los componentes del diagrama actúen como enlaces o admitan transclusión de otros tiddlers.

      Para más información sobre el uso de este plugin, pincha aquí

      range Operator

       7 septiembre 2021 a las 18:03
      purposegenerate a range of numbers
      inputignored
      parameterN = a range specification, like [1],[5]
      outputa series of evenly spaced numbers ranging from <begin> to <end>
      ! outputa series of evenly spaced numbers ranging from <begin> to <end> in reverse order

      Learn more about how to use Filters

      The range operator produces a list of numbers counting up or down. It is useful for counting and numbering.

      New in: 5.2.0 The range operator has been updated to use multiple operands to specify its parameters. Prior to this version, the range operator only had one operand, with the three parts delimited by ,, ; or :.

      [range[<begin>]]
      [range[<begin>],[<end>]]
      [range[<begin>],[<end>],[<step>]]

      The behaviour depends on the number of operands:

      ParameterOutput
      <end>Whole numbers up to <end>
      <begin>,<end>Numbers from <begin> to <end>, spaced by whole numbers
      <begin>,<end>,<step>Numbers from <begin> to <end> spaced out by <step>

      Each part must be a number, and works as follows:

      • <begin>: start counting at this number.
        • Defaults to 1 if <end> is at least 1 (or -1 if <end> is at most -1).
      • <end>: stop counting at this number.
        • This number will appear in the list unless it falls between two steps.
      • <step>: count up (or down) by this amount.
        • Defaults to 1.
        • Cannot be zero.
        • We always count from <begin> toward <end>, whether <step> is positive or negative.

      The number of decimal points in the output is fixed, and based on the operand with the most decimal points.

      To prevent the browser from freezing, range is currently limited to 10,000 values.

      Examples

      [range[7]]

      1 2 3 4 5 6 7

      [range[1],[10]]

      1 2 3 4 5 6 7 8 9 10

      [range[17],[13]]

      17 16 15 14 13

      [range[1.001],[5],[1]]

      1.001 2.001 3.001 4.001

      [range[.5],[1.4],[.004]]

      0.500 0.504 0.508 0.512 0.516 0.520 0.524 0.528 0.532 0.536 0.540 0.544 0.548 0.552 0.556 0.560 0.564 0.568 0.572 0.576 0.580 0.584 0.588 0.592 0.596 0.600 0.604 0.608 0.612 0.616 0.620 0.624 0.628 0.632 0.636 0.640 0.644 0.648 0.652 0.656 0.660 0.664 0.668 0.672 0.676 0.680 0.684 0.688 0.692 0.696 0.700 0.704 0.708 0.712 0.716 0.720 0.724 0.728 0.732 0.736 0.740 0.744 0.748 0.752 0.756 0.760 0.764 0.768 0.772 0.776 0.780 0.784 0.788 0.792 0.796 0.800 0.804 0.808 0.812 0.816 0.820 0.824 0.828 0.832 0.836 0.840 0.844 0.848 0.852 0.856 0.860 0.864 0.868 0.872 0.876 0.880 0.884 0.888 0.892 0.896 0.900 0.904 0.908 0.912 0.916 0.920 0.924 0.928 0.932 0.936 0.940 0.944 0.948 0.952 0.956 0.960 0.964 0.968 0.972 0.976 0.980 0.984 0.988 0.992 0.996 1.000 1.004 1.008 1.012 1.016 1.020 1.024 1.028 1.032 1.036 1.040 1.044 1.048 1.052 1.056 1.060 1.064 1.068 1.072 1.076 1.080 1.084 1.088 1.092 1.096 1.100 1.104 1.108 1.112 1.116 1.120 1.124 1.128 1.132 1.136 1.140 1.144 1.148 1.152 1.156 1.160 1.164 1.168 1.172 1.176 1.180 1.184 1.188 1.192 1.196 1.200 1.204 1.208 1.212 1.216 1.220 1.224 1.228 1.232 1.236 1.240 1.244 1.248 1.252 1.256 1.260 1.264 1.268 1.272 1.276 1.280 1.284 1.288 1.292 1.296 1.300 1.304 1.308 1.312 1.316 1.320 1.324 1.328 1.332 1.336 1.340 1.344 1.348 1.352 1.356 1.360 1.364 1.368 1.372 1.376 1.380 1.384 1.388 1.392 1.396 1.400

      RangeWidget

       9 octubre 2021 a las 13:16

      Introduction

      The range widget displays an HTML <input type="range"> that reflects a given tiddler field numeric value. Adjusting the range slider sets the tiddler field to the value.

      Content and Attributes

      The content of the <$range> widget is ignored.

      AttributeDescription
      tiddlerTitle of the tiddler to manipulate (defaults to the current tiddler)
      fieldThe field of the tiddler bound to the range slider
      index New in: 5.1.22 The index of the tiddler, a DataTiddler, to which the radio button is bound
      minThe minimum value to be able to be set by the <$range> widget
      maxThe maximum value to be able to be set by the <$range> widget
      incrementThe minimum amount by which a value may be changed. Defaults to 1
      defaultIf the field is missing or empty this is the default position for the widget handle relative to the min and max values
      classCSS classes to be assigned to the label around the range slider
      actions New in: 5.1.23 Optional, A string containing ActionWidgets to be triggered when the value changes.
      The variable: actionValue is available for all actions.
      The variable: actionValueHasChanged is always yes here.
      actionsStart New in: 5.1.23 Optional, A string containing ActionWidgets to be triggered when the "handle" is clicked.
      The variable: actionValueHasChanged is always no here
      actionsStop New in: 5.1.23 Optional, A string containing ActionWidgets to be triggered when the "handle" is released.
      The variable: actionValueHasChanged is yes, if the new-value is different to the start-value
      disabled New in: 5.1.23 Optional, disables the range input if set to "yes". Defaults to "no"

      Examples

      Range -1 to 10

      <$range tiddler="$:/_RangeDemo/1" min="-1" max="10" default="1" increment="1"/> {{$:/_RangeDemo/1}}

      Este es su aspecto:

      Range 0 to 1

      <$range tiddler="$:/_RangeDemo/2" min="0" max="1" default=".01" increment=".01"/> {{$:/_RangeDemo/2}}

      Este es su aspecto:

      Using Actions


      The wikitext of this example is shown below:

      \define getText() $(text)$ - value: $(value)$ - changed: $(actionValueHasChanged)$
      
      \define range-log(text:"", value:"", tiddler:"$:/temp/range/log")
      <$vars text="""$text$""" value="""$value$""" >
      <$action-setfield $tiddler="""$tiddler$""" $index=<<now "0hh-0mm-0ss:0XXX">> $value=<<getText>>/>
      </$vars>
      \end
      
      \define clear-range-log(tiddler:"$:/temp/range/log")
      <$action-setfield $tiddler="""$tiddler$""" text="{}" show=show/>
      \end
      
      \define logTiddler()$:/temp/range/log
      
      \define clearLogButton()<$button actions=<<clear-range-log>>>Clear Log</$button>
      
      \define actionsStop()
      <$macrocall $name="range-log" text="                    actionsStop" value=<<actionValue>> />
      \end
      
      \define actionsStart()
      <$macrocall $name="range-log" text="                    actionsStart" value=<<actionValue>> />
      \end
      
      \define actions()
      <$macrocall $name="range-log" text="actions" value=<<actionValue>> />
      \end
      
      !! Using Actions
      
      <$range tiddler="$:/temp/range/1__" min="-1" max="10" default="1" increment="1"
        actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>>/> {{$:/temp/range/1__}}
      
      <$range tiddler="$:/temp/range/__2" min="0" max="1" default=".01" increment=".01"
        actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>> /> {{$:/temp/range/__2}} 
      
      <$checkbox tiddler=<<logTiddler>> field="show" checked="show" unchecked="hide"> Show log</$checkbox> <<clearLogButton>>
      
      <$reveal stateTitle=<<logTiddler>> stateField="show" type="match" text="show">
      <$transclude tiddler=<<logTiddler>> />
      </$reveal>
      
      ---
      
      The wikitext of this example is shown below:
      
      <$codeblock code={{RangeWidget Example!!text}}/>
      

      RangeWidget Example

       7 marzo 2021 a las 10:20

      Using Actions


      The wikitext of this example is shown below:

      \define getText() $(text)$ - value: $(value)$ - changed: $(actionValueHasChanged)$
      
      \define range-log(text:"", value:"", tiddler:"$:/temp/range/log")
      <$vars text="""$text$""" value="""$value$""" >
      <$action-setfield $tiddler="""$tiddler$""" $index=<<now "0hh-0mm-0ss:0XXX">> $value=<<getText>>/>
      </$vars>
      \end
      
      \define clear-range-log(tiddler:"$:/temp/range/log")
      <$action-setfield $tiddler="""$tiddler$""" text="{}" show=show/>
      \end
      
      \define logTiddler()$:/temp/range/log
      
      \define clearLogButton()<$button actions=<<clear-range-log>>>Clear Log</$button>
      
      \define actionsStop()
      <$macrocall $name="range-log" text="                    actionsStop" value=<<actionValue>> />
      \end
      
      \define actionsStart()
      <$macrocall $name="range-log" text="                    actionsStart" value=<<actionValue>> />
      \end
      
      \define actions()
      <$macrocall $name="range-log" text="actions" value=<<actionValue>> />
      \end
      
      !! Using Actions
      
      <$range tiddler="$:/temp/range/1__" min="-1" max="10" default="1" increment="1"
        actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>>/> {{$:/temp/range/1__}}
      
      <$range tiddler="$:/temp/range/__2" min="0" max="1" default=".01" increment=".01"
        actionsStart=<<actionsStart>> actionsStop=<<actionsStop>> actions=<<actions>> /> {{$:/temp/range/__2}} 
      
      <$checkbox tiddler=<<logTiddler>> field="show" checked="show" unchecked="hide"> Show log</$checkbox> <<clearLogButton>>
      
      <$reveal stateTitle=<<logTiddler>> stateField="show" type="match" text="show">
      <$transclude tiddler=<<logTiddler>> />
      </$reveal>
      
      ---
      
      The wikitext of this example is shown below:
      
      <$codeblock code={{RangeWidget Example!!text}}/>
      

      rboue's plugins for TiddlyWiki

       6 enero 2021 a las 15:10

      Featuring plugins that integrate two interesting new capabilities:

      http://rboue.tiddlyspot.com

      I developed some plugins related to engineering tasks.

      After using them for personal projects I'm glad to share with TiddlyWiki community.

      Reading data from JSON tiddlers

       11 junio 2022 a las 11:47

      See JSON in TiddlyWiki for an overview of using JSON in TiddlyWiki.

      Filter Operators for Accessing JSON Data

      The following filter operators allow values to be read from JSON data:

      • jsonget to retrieve the values of a property in JSON data
      • jsontype to retrieve the type of a JSON value
      • jsonindexes to retrieve the names of the fields of a JSON object, or the indexes of a JSON array
      • jsonextract to retrieve a JSON value as a string of JSON

      Text References for Accessing JSON Data

      Text references are a simple shortcut syntax to look up the value of a named property. For example, if a DictionaryTiddler called MonthDays contains:

      oct:31
      nov:30
      dec:31

      ... then {{MonthDays##nov}} will resolve to the value 30.

      The same is true if MonthDays is a JSONTiddler with the following content:

      {"oct":31,"nov":30,"dec":31}

      ReadMe

       20 septiembre 2014 a las 14:52

      Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.

      TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

      Learn more and see it in action at https://tiddlywiki.com/

      Developer documentation is in progress at https://tiddlywiki.com/dev/

      Join the Community

      Foros de discusión de TiddlyWiki.

      Son listas de correo en las que hablamos de TiddlyWiki: pedimos ayuda, anunciamos la publicación de nuevas ediciones o de nuevos plugins, debatimos sobre nuevas características, o simplemente compartimos experiencias.

      Puedes participar a través de la página web asociada, o suscribirte via mail.

      Usuarios

      Grupo principal de TiddlyWiki

      No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:

      Además, puedes participar en nuestras reuniones periódicas online

      o síguenos en Twitter si quieres recibir las últimas noticias

      Desarrolladores

      Grupo de desarrollo de TiddlyWiki

      No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:

      Accede a nuestra página de desarrollo en GitHub y haz tu contribución.

      Síguenos en Twitter si quieres estar al tanto de las últimas noticias

      Las nuevas ediciones de TiddlyWiki, TiddlyDesktop y TiddlyFox se anuncian en los foros de discusión y en Twitter.

      También puedes suscribirte al feed de versiones en GitHub

      Installing TiddlyWiki on Node.js

      1. Descarga e instala Node.js desde la página oficial: http://nodejs.org
      2. Abre una terminal de línea de comandos y teclea:
        npm install -g tiddlywiki (ver nota * más abajo)
        Si te da fallo, necesitas volver a ejecutar la orden como administrador:
        sudo npm install -g tiddlywiki (Mac/Linux)
      3. Comprueba que TiddlyWiki se ha instalado con el comando:
        tiddlywiki --version
      4. Si todo está bien, TiddlyWiki devolverá el número de versión (p. ej, en este caso, 5.3.2-prerelease. Puede que también muestre alguna información complementaria, de depuración.
      5. Probemos a ponerlo en marcha:
        1. tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.
        2. tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
        3. Abre el navegador y escribe http://127.0.0.1:8080/ (o localhost:8080) en la barra de direcciones.
        4. Crea y edita tiddlers del modo acostumbrado. Los cambios se guardarán automáticamente en la carpeta miwiki/tiddlers
        5. Para apagar TiddlyWiki, cierra el navegador y haz Ctrl-C en la línea de comandos (o ciérrala: la consola te advertirá de que al hacerlo matarás el proceso en marcha. Confirma y listo)
      6. # Como opción, puedes hacer una copia offline del wiki:
        • Con TiddlyWiki abierto en el navegador, haz click en el botón Guardar cambios de la barra lateral
        • Con TiddlyWiki apagado y desde el mismo directorio desde donde lo iniciaste, teclea el siguiente comando en la consola:
        tiddlywiki --build index
      Nota: El argumento -g hace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.
      Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo node: command not found pese a haber instalado node.js, puede que necesites crear un enlace simbólico entre nodejs y node. En tal caso, consulta el manual de tu distribución de Linux y whereis (más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).
      Ejemplo en Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node

      Using TiddlyWiki on Node.js

      TiddlyWiki se puede usar desde la línea de comandos para ejecutar una larga lista de operaciones basadas en carpetas, tiddlers y archivos HTML de ~Tiddlywiki.

      Por ejemplo, el siguiente comando carga tiddlers de un archivo HTML de TiddlyWIki y guarda uno de ellos (ReadMe) como HTML estático (readme.html):

      tiddlywiki --verbose --load mi_wiki.html --rendertiddler ReadMe ./readme.html

      Ejecutar TiddlyWiki desde la línea de comandos pone en marcha el núcleo, carga los plugins y establece un "almacén" de tiddlers en blanco. A partir de entonces procesa los argumentos de la línea de comandos de izquierda a derecha. Los argumentos se separan con espacios.

      El primer argumento es la ruta opcional al WikiFolder que se va a cargar. Si no se especifica, se usa el directorio actual.

      Le siguen uno o varios comandos con sus respectivos argumentos. Los comandos se identifican con el prefijo --.

      tiddlywiki [<ruta>] [--<comando> [<argumento>[,<argumento>]]]

      Los comandos disponibles son:

      Upgrading TiddlyWiki on Node.js

      Si has instalado TiddlyWiki en Node.js de la forma habitual, puedes actualizarlo a la última versión con este comando:

      npm update -g tiddlywiki

      En Mac o Linux necesitas añadir "sudo":

      sudo npm update -g tiddlywiki

      Also see

      This readme file was automatically generated by TiddlyWiki

      ReadMeBinFolder

       8 septiembre 2014 a las 16:08

      Script Files

      The TiddlyWiki5 repository contains several scripts in the bin folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See Scripts for building tiddlywiki.com for details of the scripts used to build and release https://tiddlywiki.com/.

      All the scripts expect to be run from the root folder of the repository.

      serve: serves tw5.com

      ./bin/serve.sh -h
      ./bin/serve.sh [edition dir] [username] [password] [host] [port]

      Or:

      ./bin/serve.cmd -h
      ./bin/serve.cmd [edition dir] [username] [password] [host] [port]

      This script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the tw5.com-server edition. By default, the Node.js serves on port 8080. If the optional username parameter is provided, it is used for signing edits. If the password is provided then HTTP basic authentication is used. Run the script with the -h parameter to see online help.

      To experiment with this configuration, run the script and then visit http://127.0.0.1:8080 in a browser.

      Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).

      test: build and run tests

      This script runs the test edition of TiddlyWiki on the server to perform the server-side tests and to build test.html for running the tests in the browser.

      lazy: serves tw5.com with lazily loaded images

      ./bin/lazy.sh <username> [<password>]

      Or:

      ./bin/lazy.cmd <username> [<password>]

      This script serves the tw5.com-server edition content with LazyLoading applied to images.

      Reddit Logo

       

      Reduce Filter Run Prefix

       24 noviembre 2021 a las 17:01

      New in: 5.1.23

      purposereplaces all filter output so far with a single item by repeatedly applying a filter run to each input title
      inputall titles from previous filter runs
      outputthe accumulated single item

      Each input title from previous runs is passed to this run in turn. The result of each previous call to this run is made available in the next call via the variable named "accumulator". The result of the last call to this run is returned as the output. A typical use is to add up the values in a given field of each input title.

      The following variables are available within the filter run:

      • accumulator - the result of the previous filter run
      • currentTiddler - the input title
      • ..currentTiddler - the value of the variable currentTiddler outside the filter run. New in: 5.2.0
      • index - the numeric index of the current list item (with zero being the first item in the list)
      • revIndex - the reverse numeric index of the current list item (with zero being the last item in the list)
      • length - the total length of the input list

      Compare named filter run prefix :reduce with reduce Operator which is used to flatten a list of items down to a single item by repeatedly applying a subfilter.

      [tag[shopping]] :reduce[get[quantity]add<accumulator>]

      is equivalent to:

      \define num-items() [get[quantity]add<accumulator>]
      
      [tag[shopping]reduce<num-items>]

      Examples

      Reduce Filter Run Prefix (Examples)

       24 noviembre 2021 a las 16:07

      The following examples use these data tiddlers:

      [tag[shopping]] :reduce[get[quantity]add<accumulator>]

      [tag[shopping]] :reduce[get[price]multiply{!!quantity}add<accumulator>]

      [tag[shopping]] :reduce[<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]
      → Uses <index> to act differently on the first item than the rest. Just for demonstration. Better to use the join Operator to accomplish this task

      [tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>]
      → Empty input produces empty output

      [tag[non-existent]] :reduce[get[price]multiply{!!quantity}add<accumulator>] :else[[0]]
      → Use :else to ensure output if input was empty

      Unlike the reduce Operator, the :reduce prefix cannot specify an initial value for the accumulator, so its initial value will always be empty (which is treated as 0 by mathematical operators). So =1 =2 =3 :reduce[multiply<accumulator>] will produce 0, not 6. If you need to specify an initial accumulator value, use the reduce Operator.
      =1 =2 =3 :reduce[multiply<accumulator>]
      → Empty initial value is treated as 0 by mathematical operators
      =1 =2 =3 +[reduce<multiply-input>,[1]]
      → Setting initial value is sometimes necessary for correct results

      reduce Operator

       22 mayo 2021 a las 17:25
      purposeapply a subfilter to each input title in turn, accumulating a single value
      inputa selection of titles passed as input to the filter
      parameterS = a filter expression. Optional second parameter for initial value for accumulator
      outputthe final result of running the subfilter S

      Learn more about how to use Filters

      New in: 5.1.23 The reduce operator runs a subfilter for each input title, passing the result of the previous subfilter run as a variable. The initial value of the accumulator can optionally be specified. It returns the result of the final subfilter run.

      The reduce operator is used to flatten a list of items down to a single item by repeatedly applying a formula. A typical use is to add up the values in a given field of a list of tiddlers.

      The following variables are available within the subfilter:

      • accumulator - the result of the previous subfilter run
      • currentTiddler - the input title
      • ..currentTiddler - the value of the variable currentTiddler outside the subfilter. New in: 5.2.0
      • index - the numeric index of the current list item (with zero being the first item in the list)
      • revIndex - the reverse numeric index of the current list item (with zero being the last item in the list)
      • length - the total length of the input list

      If the reduce operator receives no input, its output will be empty. The else Operator can be useful in such cases.

      Literal filter operands cannot contain square brackets but you can work around the issue by using a variable:

      <$set name="sum-input" value="[add<accumulator>]">
      {{{ =1 =2 =3 +[reduce<sum-input>] }}}
      </$set>

      Compare with the analogous named filter run prefix :reduce

      \define num-items() [get[quantity]add<accumulator>]
      
      [tag[shopping]reduce<num-items>]

      is equivalent to:

      [tag[shopping]] :reduce[get[quantity]add<accumulator>]

      If the optional second parameter is not given, the initial accumulator value will be empty. Numerical operators treat empty input as if it was the number 0. See the multiply-input examples for how this can affect the result of reduce in some cases.

      Examples

      reduce Operator (Examples)

       4 diciembre 2020 a las 13:11

      These examples use the following predefined variables:

      • add-price: [get[price]multiply{!!quantity}add<accumulator>]
      • num-items: [get[quantity]add<accumulator>]
      • join-with-commas: [<index>compare:number:gt[0]then<accumulator>addsuffix[, ]addsuffix<currentTiddler>else<currentTiddler>]
      • multiply-input: [multiply<accumulator>]

      They also use the following data tiddlers:

      [tag[shopping]reduce<num-items>]

      [tag[shopping]reduce<add-price>]

      [tag[shopping]reduce<join-with-commas>]
      → Uses <index> to act differently on the first item than the rest

      [tag[non-existent]reduce<add-price>]
      → Empty input produces empty output

      [tag[non-existent]reduce<add-price>else[0]]
      → Use else to ensure output if input was empty

      =1 =2 =3 +[reduce<multiply-input>]
      → Empty initial value is treated as 0 by mathematical operators

      =1 =2 =3 +[reduce<multiply-input>,[1]]
      → Setting initial value is sometimes necessary for correct results

      Material de referencia

       11 mayo 2016 a las 16:28

      Guía de estilo para la redacción de material de referencia

       18 abril 2016 a las 15:18

      Los tiddlers de referencia ofrecen información al lector –presumiblemente de nivel intermedio o experto– de manera comprensible e interreferenciada.

      Se estructura en varias subcategorías:

      Conceptos
      • Definidos, juntos forman un glosario
      Manual de usuario
      • Presenta aspectos técnicos de las características de WikiText
      • Se subdivide en: mensajes, operadores, variables, widgets... etc
      Manual de desarrollador
      • Presenta aspectos técnicos de la arquitectura interna de TiddlyWiki

      El material de referencia se redacta en estilo formal que evita referirse al lector y enfoca su atención en el comportamiento de TiddlyWiki. Predomina el uso de la voz pasiva y las expresiones impersonales:

      Reference material is written in a terse, formal style that avoids referring to the reader, and instead focuses on how TiddlyWiki itself behaves. The passive voice is often suitable:

      • "se especifica la plantilla como tiddler" mejor que "especifica la plantilla como tiddler"
      • "el widget puede servir para varios fines" mejor que "puedes usar el widget para varios fines"
      • Pero "este widget tiene varios usos posibles" es aún mejor, ya que es más conciso y menos retorcido.

      Al redactar en inglés, se evita el uso de formas verbales contraídas, pero aquellas que terminan en "n't", como ("aren't", "doesn't", "hasn't", "isn't"... etc, son aceptables, ya que así es menos probable que en su lectura se pase por alto el "not" de las formas no contraídas.

      Refnotes by Mohammad

       17 noviembre 2020 a las 16:21

      Refnotes plugin is a set of macros and stylesheets for creating abbreviations, footnotes and citations. It also makes tables of footnotes, abbreviations (glossary) and references (bibliography table).

      https://kookma.github.io/TW-Refnotes/

      Refnotes contains codes and elements to

      Create and insert
      Abbreviation
      Footnote
      Reference
      Create tables of
      Abbreviations or glossary
      Footnotes and endnotes
      References (bibliography) using different output style

      RefreshMechanism

       14 octubre 2019 a las 10:17

      The refresh mechanism is the part of the WikificationMechanism concerned with updating a rendering when there are changes in the tiddler store.

      The refresh mechanism is notified of changes to the tiddler store asynchronously. This is done so that multiple consecutive changes can be coalesced into a single change notification. Thus, a series of action widgets modifying several different tiddlers will only trigger a single refresh cycle.

      When changes occur, the rendering is updated by calling the "refresh" method of the root widget. The refresh method determines whether the widget needs to be updated to reflect the incoming changes, and then recursively calls into the refresh methods of each child widget

      The refresh cycle is inherently fairly slow because it involves visiting every node in the render tree. To maintain performance there is a RefreshThrottling mechanism that enables refresh processing to be deferred when rapid changes occur to the same tiddler.

      RefreshThrottling

       17 noviembre 2021 a las 23:26

      The RefreshMechanism allows the refresh cycle to be throttled (or deferred) when rapid changes occur to the same tiddler. It is used to maintain responsiveness while editing a draft tiddler, but can also be used on other tiddlers.

      The rules governing refresh throttling are:

      • When a change notification occurs, throttling will only take place if all of the modified tiddlers meet at least one of these criteria:
        • Has the field draft.of
        • Has the field throttle.refresh
        • Has a title prefixed with $:/temp/volatile/
      • If the refresh cycle is to be throttled, a timer is set for the internal specified in $:/config/Drafts/TypingTimeout (cancelling any preciously set timer)
        • When the timer fires, the refresh cycle is triggered, passing the aggregated titles of all the deferred refresh cycles

      RegExp in Tiddlywiki by Mohammad

       6 enero 2021 a las 15:10

      RegExp in Tiddlywiki contains practical use cases of regular expression in Tiddlywiki.

      http://tw-regexp.tiddlyspot.com/

      The regular expression is a way to describe complex search patterns using sequences of characters .

      RegExp in Tiddlywiki has four main parts

      • Using regular expression to match a pattern in tiddler title
      • Using regular expression to match a pattern in tiddler fields excluding tiddler text (body)
      • Using regular expression to match a pattern in tiddler body (text field)
      • Using regular expression for validation like username, password, etc.

      regexp Operator

       3 febrero 2015 a las 19:06
      purposefilter the input by pattern-matched field
      inputa selection of titles
      suffixF = the name of a field, defaulting to title
      parameterX = a regular expression
      outputthose input tiddlers in which field F matches X
      ! outputthose input tiddlers in which field F does not match X

      Learn more about how to use Filters

      Regular expressions are concise strings of characters that denote patterns of text to search for. The format used in TiddlyWiki is fully defined in this Mozilla reference.

      The filter syntax makes it impossible to directly specify a regular expression that contains square brackets. The solution is to store the expression in a variable. See the examples.

      The parameter X can optionally start or end with a string of flags:

      (?mig)

      Only the i flag is generally useful: it forces the different between capital and lowercase letters to be ignored.

      If X is empty, regexp will match all of the input tiddlers.

      Examples

      regexp Operator (Examples)

       23 enero 2015 a las 22:53

      These examples make use of the Days of the Week tiddler.

      [!is[system]regexp[Wiki]]
      → non-system tiddlers with Wiki in their title

      [!is[system]regexp[(?i)Wiki]]
      → non-system tiddlers with Wiki in their title, ignoring case

      [!is[system]regexp[Wiki(?i)]]
      → same again

      [regexp[(?i)\.jpe?g$]]
      → tiddlers with titles ending in .jpg or .jpeg, ignoring case

      [regexp:created[^201408]]
      → tiddlers created in August 2014

      The regular expression [0-9]{2} matches two consecutive digits. Because it contains square brackets, the way to use it with the regexp operator is via a variable, as follows:

      Release 5.0.0-alpha.11

       8 noviembre 2013 a las 17:54

      This release is the culmination of a large scale refactoring of the widget mechanism of TiddlyWiki5. There are several changes to be aware of if upgrading from earlier versions:

      • The following widgets have been removed:
        • <$setstyle> - use <div style=<<macroName Param>>> instead
        • <$video> - will return in a later release
        • <$datauri> - use the <<makedatauri>> built-in macro instead
        • <$error> - may return in a later release
        • <$import> - use the BrowseWidget, DropzoneWidget and NavigatorWidget instead
        • <$info> - use the <<changecount>> built-in macro instead
        • <$version> - use the <<version>> built-in macro instead
      • The following widgets have had significant changes:
        • EditWidget
        • ListWidget - the list widget itself no longer generates HTML nodes, so you'll often need to wrap the template in a <div> or a <span> to be able to style the content
        • ViewWidget - has several changes:
          • <$view format="link"/> is no longer available; use an explicit <$link> widget instead
          • <$view format="link"/> is no longer available; use the TranscludeWidget instead
      • The following new widgets have been added:
      • Widget attribute names have been made more consistent. In particular, tiddler is used to reference a tiddler by title, not title
      • It is no longer possible to import the macro definitions within another tiddler by transcluding that tiddler
      • The body element now has the class tw-body, which will need to be specified in any overrides
        • This was done due to the new support for HTML foreign objects, which makes it possible to have multiple <body> elements in a document

      Release 5.0.0-alpha.12

       8 noviembre 2013 a las 18:54

      See GitHub for detailed change history of this release

      This minor release just contains fixes for the syncer and related adaptor modules for the TiddlyWeb edition and for TiddlyWiki5's integrated server.

      Release 5.0.0-alpha.13

       9 noviembre 2013 a las 11:22

      See GitHub for detailed change history of this release

      This release has several bug fixes:

      • Fixes to DaveGifford's themes blanca, blue and rocker
      • Fix an issue with the <$edit-text> widget
      • Documentation updates
      • Improved deployment scripts
      • Made the modifier field in the subtitle be a link
      • Styling improvements for the CodeMirror plugin
      • Improved the ViewWidget so that it falls back to displaying its content if the field/property is missing or empty
      • Extend use of the built-in <<tabs>> macro to the tiddler info panel, the control panel and the sidebar
        • This means that you can add new tabs by creating tiddlers with these tags, and optionally a caption field for the text of the tab:

      Release 5.0.0-alpha.14

       10 noviembre 2013 a las 19:22

      See GitHub for detailed change history of this release

      This release has several bug fixes:

      • Improved the layout of the control panel
      • Fixed problem with using the CheckboxWidget to apply tags to tiddlers that don't have any existing tags
      • Fixed problem with default password for the PasswordWidget being the string "null"

      Release 5.0.0-alpha.15

       12 noviembre 2013 a las 20:50

      See GitHub for detailed change history of this release

      New Features

      • Added a dropdown to the edit template for setting the tiddler type
      • A saver module for Microsoft Internet Explorer version 10 and above. Clicking save in the sidebar causes the browser to pull up a bar at the bottom of the window where you can click save. You then get a new copy of your wiki in the downloads folder.
      • Support for new tw-close-other-tiddlers message (eg, )
      • For http://five.tiddlywiki.com, add a tiddler info tab with a link to the static representation of the tiddler
      • Make more UI elements extensible via system tags:

      Improvements

      • Rename the <$setvariable> to <$set>
        • <$setvariable> will temporarily remain as a synonym for <$set> for the next few releases
      • Improve the popup mechanism so that the tiddler info panel doesn't close so easily
      • Various improvements for working with TiddlyWeb, including:
        • Updated control panel

      Bug fixes

      • Fixed bug when creating a tiddler title starting or ending with a space
      • Fixed behaviour of tags editor dropdown when search box is empty
      • Fixed problem with interpretation of fields and index attributes of the TranscludeWidget
      • Fixed the module type names in the internal tab of the control panel
      • Improved styling for embedded PDFs
      • Fixed bug with second being omitted from serialised date formats

      Contributors to this release include @jermolene and @grayeul.

      Release 5.0.0-alpha.16

       30 noviembre 2013 a las 9:55

      See GitHub for detailed change history of this release

      New Features and Improvements

      • Improved appearance of tags editor
      • Improved generation of qualified tiddler titles for state storage
        • Instead of $:/state/tab/sidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||} one gets $:/state/tab/sidebar-{1743827719}
      • Significant updates to the structure and content of the user documentation
      • Added a new plugin for displaying corner ribbons; currently used for a version banner on tw5.com
      • Split Snow White theme into a base Vanilla theme with all the basic formatting, leaving the decorative bits to Snow White
        • Existing TiddlyWikiFolders will need updating to include Vanilla as an additional theme
      • The page building blocks are now driven by the system tag $:/tags/PageTemplate
      • Fixed problem that prevented tag configured items from shadow tiddlers interleaving with items from ordinary tiddlers
      • Refactored control panel to add Saving tab that includes TiddlySpot options
      • Improved notifications when saving to TiddlySpot
      • Added backup URL to TiddlySpot control panel tab
      • Extended the ServerCommand to add primitive support for basic authentication when running under Node.js

      Bug fixes

      • Fixed problem with displaying tiddler titles that contain WikiText syntax
      • No longer crashes when encountering an error in a filter string
      • Fixed a crash when dragging and dropping tiddlers within TiddlyWiki5
      • No longer update the modified date for imported tiddlers
      • Automatically forces new field names to be lower case

      Internal changes

      • Added Windows-compatible build scripts
      • Changes to the SavingMechanism to allow the tiddlers that are saved to be selected
      • The main HTML file template used for saving TiddlyWiki5 documents has changed from $:/core/templates/tiddlywiki5.template.html to $:/core/save/all
      • Moved tw5.com's Google Analytics integration into a proper plugin

      Contributors to this release include @jermolene, @asampal and @pmario.

      Release 5.0.0-alpha.17

       30 noviembre 2013 a las 15:16

      See GitHub for detailed change history of this release

      Bug fixes

      • Fixes a small but important bug that prevented downloading an empty wiki with alpha.16

      Release 5.0.1-alpha

       6 diciembre 2013 a las 16:13

      See GitHub for detailed change history of this release

      Improvements

      • Changes to the importing process to enable a smoother Upgrading process
        • Ignores attempts to import plugins that are older than currently installed plugins
        • System tiddlers are now imported as usual
      • If $:/theme isn't defined or refers to a missing tiddler, then fallback through Snow White to Vanilla. This means that empty.html now defaults to Snow White
      • Added support for Block Quotes in WikiText

      Bug fixes

      • Fixed bug that was preventing $:/tags/PageControls tiddlers from being reordered

      Internal changes

      Release 5.0.10-beta

       18 enero 2015 a las 18:24

      See GitHub for detailed change history of this release

      Highlights

      Documentation Improvements

      Usability Improvements

      • Refactor sorting to respect accented characters
      • Support embedded images in Markdown tiddlers
      • Refactored sidebar hiding action so that the story river border is maintained

      Hackability Improvements

      • Added [is[tag]] to the is operator
      • Hide the top bars in the print stylesheet

      Bug Fixes

      • Added support for saving changes on Windows network drives
      • Refactored configuration processing so that ordinary tiddlers are processed after shadow tiddlers. This resolves an issue whereby user stylesheets were being overridden by shadow stylesheets
      • Fixed issue with offline snapshot of server edition erroneously including shadow tiddlers
      • Fixed problem with corrupted upgrades from 5.0.x-prerelease to 5.0.x-beta
      • Fixed bug with [untagged[]] filter operator
      • Fixed incorrect background colour for tag pills in the sidebar
      • Fixed issues with null fields under TiddlyWeb
      • Fixed problem with hamburger overlapping scrollbars

      Release 5.0.11-beta

       21 febrero 2015 a las 22:57

      See GitHub for detailed change history of this release

      Incompatible Changes

      See Notes for upgrading to 5.0.11-beta for more details of these changes:

      • The default output location for command line operations has changed to the /output folder within TiddlyWikiFolders (it used to be current directory)
      • Note that the shadow tiddler $:/core/ui/PageMacros has changed with this release. If you've made modifications to it you should copy your modifications to a new tiddler, delete $:/core/ui/PageMacros, perform the upgrade and then manually update the new copy of $:/core/ui/PageMacros

      Documentation Improvements

      Usability Improvements

      • Many performance optimisations, particularly for filter operations
      • Added support for PermaLinks and browser back and forward buttons
      • Added support for WikiLinks in Markdown via [link text](#TiddlerTitle)
      • Added support for explicit external Linking in WikiText (eg [ext[tooltip|url]])
      • Replaced hamburger menu icon with double chevron icon
      • Enhance plain text parsing to use the CodeBlockWidget, and hence use syntax highlighting if the plugin is installed. This gives us syntax highlighting for JavaScript shadow tiddlers, amongst other things
      • Improvements to the German, French, Italian, Japanese and Chinese translations
      • Removed WikiText tiddlers from the sidebar "Types" tab
      • Added various warnings when editing shadow tiddlers
      • Allow digits in field names
      • Added warning banner and when attempting to edit binary tiddlers
      • Added automatic refreshing of the browser window title from $:/core/wiki/title

      Hackability Improvements

      Bug Fixes

      • Fixed issue with hovering of the topbar icons in Firefox
      • Fixed problem with dragging and dropping within a text edit control

      Contributors

      I (@Jermolene) would like to thank the contributors to this release who have generously given their time to helping improve TiddlyWiki:

      @BramChen, @mwfogleman, @nameanyone, @natecain, @pekopeko1, @pmario, @sukima, @xcazin.

      Release 5.0.12-beta

       17 mayo 2014 a las 2:02

      See GitHub for detailed change history of this release

      This is an emergency release that fixes a single significant bug with shadow tiddler handling in 5.0.11. See the discussion thread for more details.

      Release 5.0.13-beta

       18 enero 2015 a las 18:25

      See GitHub for detailed change history of this release

      Accessibility Improvements

      This release includes a number of features designed to improve the experience of TiddlyWiki with a screen reader. Particular thanks to @domasofan for his feedback

      • Added label and title for show/hide sidebar buttons
      • Added label and title for advanced search link
      • Added label and title for close buttons in "Open" sidebar tab
      • Added aria-label support to the LinkWidget
      • Switched to H1 tags for the page title and H2 tags for tiddler titles
      • Added label and title for tiddler and page toolbar buttons

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed here and here the problem with state tiddlers being inadvertently saved
      • Fixed bug with TextWidget not refreshing correctly
      • Fixed problem with vertical tabs in Safari
      • Fixed issue with images in Markdown

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.14-beta

       21 febrero 2015 a las 22:57

      See GitHub for detailed change history of this release

      Major Changes

      Improved Control Panel Plugins Tab

      The Plugins tab of the control panel has been improved with the addition of documentation tabs that plugins can use to show documentation. There is also a larger draggable area for dragging tiddlers across to other wikis.

      Configurable Button Toolbars

      The page toolbar and the tiddler toolbars can now be configured with several new buttons - see the control panel under the Appearance and Toolbars tabs.

      The sidebar tools tab now shows all the available page controls, allowing them to be invoked or checked to appear in the toolbar. The tiddler info area now includes a tools tab that includes buttons for all the tiddler actions.

      Upgrade Mechanism

      There are two components:

      Improvements to CamelCase Recognition

      TiddlyWiki now takes a much more conservative approach to recognising CamelCase terms that should be automatically linked. Previously, the dash and underscore were treated as lower case letters, leading to a number of false positives. See the GitHub bug #337 for details.

      Automatic Permalinking Off by Default

      With previous beta releases of TiddlyWiki the browser address bar is automatically updated so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed after they have refreshed the page in the browser.

      For 5.0.14-beta, the setting has been changed. Visit control panel Advanced/Settings to switch the setting back to "Include the target tiddler and the current story sequence".

      Usability Improvements

      • Added previews to the icon dropdown in the tag manager
      • Added an indication of unsaved changes by changing the colour of the save changes button
      • Split the wikitext emphasis parsers into separate modules so that they can be independently controlled with the \rules pragma
      • Refactored (and here) ReleaseHistory to place the releases into vertical tabs
      • Stopped saving $:/HistoryList, thus avoiding it uncontrollably increasing in size
      • Improved (and here) print stylesheet to remove page background
      • Updated display of plugin tiddlers so that their constituent tiddlers are shown, rather than the raw JSON
      • Moved the functionality of the fullscreen plugin into the core

      Hackability Improvements

      • Extended TiddlerWidget to add a CSS class corresponding to each tag present on displayed tiddlers
      • Added support for hiding specified fields in the tiddler editor
      • Added support for variable operands in filters (see Filter Parameter)
      • Added support for widget messages tw-permalink and tw-permaview
      • Added browser sniffing plugin so that tiddlywiki.com can present the correct browser-specific documentation
      • Added a configuration option for specifying the default location for saving new tiddlers in the client-server configuration
      • Added support for the InfoMechanism
      • Extended CheckboxWidget to allow it to toggle fields as well as tags
      • Refactored control panel theme tweaks to be stored in individual tiddlers
      • Extend the tabs macro to allow tabs to be templated
      • Added (and here) SystemTags support for inserting content above and below the story river
      • Added support for transcluding plugin subtiddlers with the TranscludeWidget
      • Added (and here) support for importing from *.htm and *.hta files as well as the existing support for *.html files
      • Extended the "sticky titles" theme so that it works when tiddlers are in edit mode

      Bug Fixes

      • Fixed bug with execution order of BuildCommand targets
      • Fixed bug with missing hover colours for external links
      • Fixed problem with refreshing modal dialogues
      • Fixed issue with cookies disabled on Firefox
      • Relax the requirement for a newline immediately the closing \end of a macro definition

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.15-beta

       21 febrero 2015 a las 19:40

      See GitHub for detailed change history of this release

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed problem with building TiddlyWiki under Windows
      • Fixed unclickable download ink in upgrade wizard
      • Fixed missing language flag in empty.html
      • Fixed problem with switching the type of a tiddler between the bitmap and text editor
      • Fixed foreground colour for tag pills in the sidebar
      • Fixed problem with github source links for tiddlywiki.com not working for titles containing colons

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.16-beta

       21 febrero 2015 a las 19:41

      See GitHub for detailed change history of this release

      Incompatible Changes

      5.0.16-beta brings more incompatible changes than any previous release. These changes are likely to break almost all plugins written for previous releases of TiddlyWiki 5, and will break many customisations.

      • Changed all CSS class prefixes from tw- to tc- (eg tw-tiddler-frame has become tc-tiddler-frame; missing prefixes have also been added, so btn-invisible has become tc-btn-invisible)
      • Changed all message prefixes from tw- to tm- (eg tw-close-tiddler has become tm-close-tiddler)
      • Changed all variable prefixes from tw- to tv- (eg tw-config-toolbar-icons has become tv-config-toolbar-icons)
      • Changed prefix/removeprefix filter operators to be case-sensitive

      Compatibility with TiddlyWikiClassic

      This release includes a preliminary version of a new plugin that provides compatibility with content created for TiddlyWikiClassic:

      https://tiddlywiki.com/classicparserdemo.html

      Subsequent releases will include end-user documentation with step-by-step instructions for migrating content.

      Many thanks to @buggyj for his work on this plugin.

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.17-beta

       21 febrero 2015 a las 22:52

      See GitHub for detailed change history of this release

      Highlights

      This release includes major improvements from @giffmex to the welcome and tutorial documentation, and new development docs incorporating the work of @cheigele and @cjrk.

      Incompatible Changes

      Change System Tag $:/tags/stylesheet with $:/tags/Stylesheet

      The issue is that the capitalisation of $:/tags/stylesheet is not consistent with other system tags. This release adds support for $:/tags/Stylesheet, and adds a deprecation warning if $:/tags/stylesheet is used. Support for $:/tags/stylesheet will be removed before the beta.

      • Added support for $:/tags/Stylesheet and a deprecation warning when $:/tags/stylesheet is used

      Change ButtonWidget title attribute to tooltip

      The use of the title attribute in the ButtonWidget was not consistent with the tooltip attribute used by the ImageWidget and LinkWidget. This release adds support for the tooltip attribute to the ButtonWidget alongside the existing support for the title attribute, but with a deprecation warning.

      Removing Support for RegExp Filter Operands

      As discussed in the associated ticket, the support for regular expression filter operands is incomplete and inconsistent. The plan is to remove support for this feature in the next release. A new filter operator has been provided to replace it, along with the addition of a deprecation warning that is displayed whenever regular expression filter operators are used.

      • Added new regexp operator
      • Added deprecation warning for regular expression filter operators

      Repository Reorganisation

      The goal is to make the TiddlyWiki repository easier to comprehend for newcomers.

      • Moved scripts into a separate bin folder

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed problem with draft tiddlers not counting as dirty
      • Fixed problem with keyboard shortcuts introduced in 5.0.16-beta
      • Fixed problem with stylesheets being parsed in inline mode
      • Fixed bug with selective expandable Table-of-Contents Macros

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.18-beta

       21 febrero 2015 a las 23:01

      See GitHub for detailed change history of this release

      This is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).

      File Layout of tiddlywiki.com

      The layout of files on tiddlywiki.com has been adjusted to make it more logical. See the ticket for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com

      Hackability Improvements

      • Added first iteration of a list-links macro (further improvements are planned)
      • Added support for importing .markdown and .md files
      • Extended timeline macro to support a subfilter

      Bug Fixes

      • Fixed problem with digits being classified as lower case letters for wiki link matching
      • Fixed crash when sorting missing tiddlers by fields other than title
      • Fixed problem with handling .jpeg file extensions
      • Fixed problem with RadioWidget and missing tiddlers
      • Fixed problem with dragging a partially selected link

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.0.2-beta

       15 diciembre 2013 a las 14:24

      See GitHub for detailed change history of this release

      Improvements

      Bug fixes

      • Fixed problem deleting tiddlers under the filesystemadaptor
      • Fixed problem with transcluding fields containing lists or dates (eg, {{!!tags}})
      • Fixed problem with re-ordering page control tiddlers (ie tiddlers tagged $:/tags/PageControls)
      • Update template used for deploying to TiddlyWeb
      • Fixed problem with tiddler deletions via the file system adaptor

      Internal changes

      Release 5.0.3-beta

       15 diciembre 2013 a las 17:00

      See GitHub for detailed change history of this release

      This release includes minor bug fixes and documentation updates.

      Release 5.0.4-beta

       21 diciembre 2013 a las 20:55

      See GitHub for detailed change history of this release

      Improvements

      • Switched to using an HTML5 placeholder for the default text of a new tiddler
      • Refactored stylesheet handling so that theme tweaks are now applied immediately, and some ordering issues have been resolved
      • Several improvements for running TiddlyWiki on Node.js:
        • The tiddlywiki.info file in the root of wiki folder file is now optional, falling back to a default configuration suitable for serverside use (commit)
        • The file system plugin now automatically creates the tiddlers subfolder in the wiki folder
      • Added favicon.ico support
      • Added SaveTiddlerCommand

      Bug Fixes

      • Fixed problem with tiddlers sometimes wrongly opening at the top of the story (commit)
      • Fixed problem with refreshing RadioWidget
      • Fixed problem with the dragger image being visible in some circumstances
      • Fixed drag and drop support on InternetExplorer, contributed by DavidJade (@davidjade on GitHub)
      • Fixed crash on modifying page template (commit)
      • Updated fullscreen plugin to latest version of the API (commit)
      • Improved handling of double square brackets within tags (thanks to StephanHradek)

      This release includes minor bug fixes and documentation updates.

      Release 5.0.5-beta

       24 diciembre 2013 a las 14:20

      See GitHub for detailed change history of this release

      Improvements

      Bug Fixes

      • Fixed problem with modal wizard positioning on narrow screens
      • Fix problem with static content being included in empty.html when downloaded from the full wiki
      • Improved performance of tiddler import with large tiddlers on Firefox

      Release 5.0.6-beta

       3 enero 2014 a las 16:49

      See GitHub for detailed change history of this release

      Improvements

      Bug Fixes

      • Fixed import browse button
      • Fixed crash when attempting full screen mode on browsers that don't support it
      • Fixed requirement for a newline immediately after a horizontal rule, table or typed block (thanks to StephanHradek)
      • Fixed problem with placeholder attibute on InternetExplorer (thanks to DavidJade)

      Release 5.0.7-beta

       25 enero 2014 a las 19:10

      See GitHub for detailed change history of this release

      Incompatible Changes

      These are changes that might affect users upgrading from previous betas.

      Documentation updates

      Improvements

      Bug Fixes

      • Fixed problem with default format of ViewWidget substituting seconds for minutes in displayed times
      • Fixed problem that was causing several animations to fail in Safari
      • Fixed problem with unclickable sidebar under the Centralised theme
      • Fixed problem with non-system tiddlers showing up in system tiddler advanced search
      • Fixed problem with notifications not always disappearing in Firefox
      • Fixed problem with wiki folders including wiki files with tiddlers that do not have a title
      • Fixed problem with ServerCommand logging "Serving on undefined:8080"

      Release 5.0.8-beta

       28 febrero 2014 a las 15:49

      See GitHub for detailed change history of this release

      Incompatible Changes

      See Notes for upgrading to 5.0.8-beta for more details of these changes:

      Documentation Improvements

      Usability Improvements

      • Added automatic saving on editing a tiddler and a warning when attempting to close the window with unsaved changes
      • Added confirmation dialogue when deleting tiddlers
      • Add support for switchable (and editable) ColourPalettes
      • Added TranslationMechanism and translations for:
        • Deutsch (Österreich and Deutschland) by @pmario
        • Français (France) by @xcazin
        • Chinese (Simplified and Traditional) by @BramChen
      • Add error alerts when syncing to a server
      • Rejigged $:/ControlPanel to use nested tabs
      • Added $:/TagManager for easy management of tags
      • Added experimental KeyboardWidget, including support for ctrl-enter (or cmd-enter) to finish editing a tiddler
      • Added number of tags to control panel Basics tab
      • Enhanced link handling so that control/command clicking a link opens the target tiddler without navigating to it
      • Importing tiddlers via drag and drop no longer opens all the tiddlers

      Scalability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed problem with pasting items into the browser
      • Fixed problem with colour pickers not showing correct colour in Chrome
      • Fixed problem with tag pills not working inside table cells
      • Fixed problem in client server configuration with % in tiddler titles
      • Fixed problem with not using placeholder text when editing missing tiddlers
      • Fixed problem with test data in certain time zones
      • Fixed problem with non-breaking space characters being converted into '@' symbols
      • Fixed problem with highlighting plugin only working in the browser
      • Fixed crash when wiki/themes folder contains files that are not themes

      Release 5.0.9-beta

       2 marzo 2014 a las 18:09

      See GitHub for detailed change history of this release

      Highlights

      Documentation Improvements

      Usability Improvements

      • Made the dropdown arrow icon skinnier
      • Added validation of legal characters for fieldnames
      • Added blacklisting of unsafe HTML elements and attributes
      • Added a warning indicator to tiddlers in TiddlyWikiClassic format
      • Add tiddler info Advanced panel with information about plugins and shadow tiddlers
      • Improved layout of $:/ControlPanel Plugins tab
      • Enhance viewing of system tiddlers by fading down the $:/ prefix
      • Extend $:/TagManager to allow icons to be assigned to tags
      • Added support for list-before and list-after fields for controlling tag ordering (see TiddlerTags for details)
      • Added request for confirmation before abandoning edits to a tiddler

      Hackability Improvements

      Bug Fixes

      • Fixed problem with occasional freezes of the sync mechanism - thanks to buggyj
      • Fixed problem with tiddlers or fields called __proto__
      • Fixed with refreshing the D3 plugin
      • Fixed problem with "null" message when unloading under Internet Explorer 11

      Release 5.1.0

       20 septiembre 2014 a las 13:40

      See GitHub for detailed change history of this release

      This is the first full release of TiddlyWiki. Documentation updates made up the bulk of the changes since the previous 5.0.18-beta release.

      Hackability Improvements

      • Removed curly braces from qualified identifiers

      Bug Fixes

      • Fixed problem with Markdown Maruku mode metadata

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.1

       21 septiembre 2014 a las 13:40

      See GitHub for detailed change history of this release

      This is a minor bug fix release to improve the documentation and correct some issues with the first full release of TiddlyWiki.

      Incompatible Changes

      Certain features that were deprecated in Release 5.0.17-beta have now been removed:

      Note that the next release will also remove support for regular expression filter operands, which was also deprecated in 5.0.17-beta.

      Hackability Improvements

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.10

       7 enero 2016 a las 23:16

      See GitHub for detailed change history of this release

      Major Improvements

      Performance Optimisations

      This release includes several low-level performance optimisations that should improve speed and responsiveness in many common operations.

      There is a new setting in the control panel to enable performance instrumentation, making it much easier to measure and improve performance issues.

      New Editions

      Three new editions of TiddlyWiki are included in this release. These can be used as starting points for creating your own wiki for several purposes:

      • The Résumé Builder Edition by @inmysocks is a custom edition to guide you through the process of using TiddlyWiki to create a good looking résumé (or curriculum vitæ)
      • The Blog Edition provides tools for using TiddlyWiki under Node.js to create a static HTML blog that can be published on GitHub pages (or similar)
      • The Text-Slicer Edition is a custom edition with tools to help advanced users slice longer texts up into individual tiddlers.

      External Text Tiddlers

      Limited support for tiddlers stored in external .tid files:

      • standalone TiddlyWiki HTML files with external text tiddlers can be built under Node.js
      • wikis with external text tiddlers can be worked with in the browser, automatically lazily loading the content of external text tiddlers when it is first referenced
        • saving changes in the browser doesn't work as expected: if edited, the external text tiddler is replaced with an ordinary tiddler
        • lazy loading of external text tiddlers doesn't work in Chrome when viewing the TiddlyWiki HTML file on a file: URI; it works OK in Firefox
        • lazy loading works on an HTTP URI on all browsers as long as the target file is either stored on the same domain or is served by a server that supports CORS

      See Alice in Wonderland for an example. Try opening it without a network connection.

      New "Tight" Theme

      A new theme called "Tight" uses reduced padding, margins and font-sizes to pack as much text as possible:

      Other Improvements

      Translation Improvements

      • Added Swedish translation by @Superdos
      • Added Korean (Korean Republic) translation by @araname
      • Improved Catalan, Chinese, Danish, Dutch, French, German, Italian, Russian and Spanish translations

      Usability Improvements

      • Enhanced the tiddler editor to accept new fields and tags when clicking confirm, without having to click "Add tag" or "Add field"
      • Added new fold and fold others buttons to the tiddler toolbar to temporarily hide the body of a tiddler, and also added new fold all and unfold all page buttons
      • Added ability to disable individual WikiText parser rules (see the Advanced tab of $:/ControlPanel). Also added a simple setting for disabling automatic linking of CamelCase words
      • Extended support for automatically linked system tiddler titles to include digits and underscore
      • Added warning when trying to use plugins designed for TiddlyWiki Classic
      • Upgraded to version v8.8.0 of highlight.js for the Highlight Plugin
      • Removed the need to manually confirm deleting alerts
      • Added optional tooltips to tabs Macro

      Hackability Improvements

      Bug Fixes

      • Fixed problem introduced in 5.1.9 with processing tiddlywiki.info files
      • Fixed problem with invisible icons in $:/AdvancedSearch
      • Improved check for required plugins in ServerCommand
      • Fixed problem with queueing change events for deleting non-existent tiddlers
      • Ensure EditTextWidget fixes height even if refresh isn't required
      • Fixed the gradient on the sidebar tabs divider
      • Fixed problem with tiddler titles such as $:/templates/something being erroneously classed as $:/temp tiddlers, and so excluded from syncing
      • Switched to absolute date format in tiddler subtitles

      Node.js Improvements

      • Fixed problem with the filesystem adaptor saving new image files as base64-encoded .tid files instead of as native binary files with an accompanying .meta file
      • Extended tiddlywiki.files support in TiddlyWikiFolders to allow directories to be loaded recursively, as well as individual files

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.11

       30 enero 2016 a las 12:41

      See GitHub for detailed change history of this release

      This is a bug-fix release for Release 5.1.10 that fixes a serious issue affecting the operation of the official plugin library.

      Release 5.1.12

       13 julio 2016 a las 11:47

      See GitHub for detailed change history of this release

      Major Improvements

      New Editor Toolbars

      Added support for extensible formatting toolbars for the editor widgets.

      • Formatting operations for WikiText, with support for Markdown:
        • Character formatting operations for bold, italic, strikethrough, underline, superscript, subscript, inline monospace
        • Line formatting operations for monospaced blocks, quoting, headings and both numbered and bulleted lists
        • Insert picture from a dropdown chooser
        • Stamp snippet of pre-programmed text
        • Excise selected text into a new tiddler
        • Optional automatic resizing to fit content
      • Full keyboard shortcut editor in control panel. Shortcuts are also shown in the toolbar button tooltips

      Improved Bitmap Editor

      The bitmap editor has been enhanced with a toolbar supporting:

      • Painting with selectable colour, width and opacity
      • Clearing the image
      • Resizing the image
      • Keeping track of recently chosen colours

      Improved Plugins

      Several of the official plugins available in the plugin library have been updated for this release. Upgrading will automatically update any installed plugins.

      • The KaTeX plugin has been updated to version v0.60.0
      • The CodeMirror plugin has been updated to version 5.13.2, and integrated with the new editor toolbars. The default configuration has been updated to include syntax highlighting for HTML, JavaScript, CSS, XML, TiddlyWiki Classic and Markdown.
      • The Markdown plugin includes formatting toolbar buttons and a new "new markdown tiddler" button in the Tools tab of the sidebar.
      • The experimental Evernote plugin allows notes and images from .enex files to be imported into TiddlyWiki.
      • The new Internals plugin provides features to help understand the internal operation of TiddlyWiki, including new preview modes in the editor showing both the parse and widget trees of the current tiddler
      • Improved language translations:
        • Korean
        • Chinese (Simplified) and Chinese (Traditional)
        • German
        • French
        • Danish
        • Dutch

      Text-Slicer Plugin Improvements

      • Added support for sticky notes within documents
      • Extended support for slicing documents to Node.js
      • Improved document metadata display
      • Added list-children filter operator
      • Fixed bugs

      Other Improvements

      Usability Improvements

      • Added a setting for disabling linking to missing tiddlers
      • Added a setting for forcing word wrapping in monospaced code blocks
      • Added a warning when creating or editing tiddler titles containing troublesome characters
      • Addition of “new image” button to the “Tools” tab of the sidebar
      • Introduction of new general purpose colour-picker Macro
      • Introduction of new general purpose image-picker Macro
      • Added a bulk delete button to advanced search "Filter" tab

      Hackability Improvements

      Bug Fixes

      Node.js Improvements

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.13

       25 julio 2016 a las 9:48

      See GitHub for detailed change history of this release

      This is a minor bug fix release.

      Bug Fixes

      Node.js Bug Fixes

      • Fixed problem with extraneous .tid extension added to tiddler filenames

      Other Improvements

      • Updated Portuguese (Portugal) translation

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.14

       26 abril 2017 a las 17:00

      See GitHub for detailed change history of this release

      New and Improved Plugins

      Improved Support for Drag and Drop

      There are several improvements to Drag and Drop:

      • Ability to rearrange the "Open" sidebar panel and the tag dropdown (and new tiddlers can be opened by dragging them to the list)
      • Ability to reorder entries in tag dropdowns
      • Dragging a tag pill is now equivalent to dragging all of the tagged tiddlers together
      • Entries in the control panel "Appearance"/"Toolbars" tab can be reordered by drag and drop
      • The image shown while dragging now reflects the dragged item, instead of being a generic drag pill

      New "Heavier" Theme

      A new theme called "Heavier" thickens TiddlyWiki's default lightweight fonts. A variant "Tight-Heavier" combines the "Heavier" theme with the existing "Tight" theme:

      New Tiddler Manager

      Added new tiddler manager to support tasks such as:

      • Reviewing and applying tags to a large number of tiddlers
      • Tweaking the custom colours and icons for a large number of tiddlers

      The tiddler manager will be extended in the future to increase flexibility and to add support for bulk operations.

      Performance Improvements

      • Extended search mechanism to require the search string to be a minimum length

      Translation Improvements

      • Improvements to Danish, Dutch, French, German, Portuguese and Chinese translations
      • Added new Hebrew translation
      • Added preliminary support for right-to-left (RTL) languages

      Usability Improvements

      • Added a select all/none checkbox to the header of the import panel
      • Added "close plugin library" button
      • Added support for adding tags using the enter key
      • Improved handling of ctrl-Enter to add partially completed tags and fields
      • Added support for relinking references to renamed tiddlers
      • Added new "print page" page control button (and added associated icon)
      • Added new page control button to temporarily suspend timestamps
      • Improved access to plugin information:
        • Refactored the display of plugin tiddlers to use the same format as the control panel, adding the shadow tiddler listing as an overridable extension tab
        • Added a new tab in the “More” sidebar providing quick access to all installed plugins
      • Fixed height of preview pane to use a scrollbar when fixed height layout is selected
      • Extended editor "link" button to create external links and missing links
      • Increased size of icons in the "Filter" tab of $:/AdvancedSearch
      • Fixed problem with multiple copies of a tiddler appearing in the story river
      • Improved dropdown for new field names with typeahead search
      • Improved the ordering of groups in the tiddler editor content type dropdown
      • Added "sticky" mode for tiddler info panel. See "Settings" in control panel
      • Increased boldness of tag pill text
      • Added documentation marker to indicate the version in which a new feature was released
      • Added an entry to the advanced search filter drop down for exporting the current story (minus advanced search)

      New and Improved Filter Operators

      Hackability Improvements

      Node.js Improvements

      Bug Fixes

      • Improved Node.js support for the HighlightPlugin
      • Fixed problem with recursion errors in the Table-of-Contents Macros
      • Prevented email addresses from being mis-recognised as HTML tags
      • Fixed issue with $tw.utils.strEndsWith()
      • Partially fixed problem with action widgets being invoked independently of refresh cycle
      • Revised handling of syncAdaptor.isReady() method to improve compatibility with older adaptors
      • Fixed problem with unsafe use of String.prototype.replace(), corrupting fields containing dollar signs
      • Fixed problem with page background colour not showing through transparent background images
      • Fixed sync problem with skinny tiddlers not being loaded
      • Fixed problem with "Cancel" button in login dialogue also submitting the form
      • Fixed typo affecting created/creator fields when deleting a field
      • Fixed issue with system links containing international characters not being recognised
      • Fixed issue with single line macro definitions without a terminating line break
      • Fixed issue with empty strings and the CheckboxWidget
      • Fixed problem with calculation of week numbers
      • Fixed problem with move Operator not wrapping correctly
      • Fixed problem preventing customisation of textarea background colours

      Developer Bug Fixes and Improvements

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.15

       13 noviembre 2017 a las 16:11

      See GitHub for detailed change history of this release

      New and Improved Plugins

      Translation Improvements

      New and improved translations:

      • New Persian translation
      • Updated Chinese and Greek translations

      Another improvement that benefits users of translations is the addition of about 800 new transliteration pairs. These are substitutions that are performed when converting a tiddler title into a filename, such as the two characters "oe" for the single character "œ". See the commit for more details. The result is that automatically generated filenames are much more readable.

      Usability Improvements

      Hackability Improvements

      Node.js Improvements

      Bug Fixes

      • Fixed problem with "new journal" button clearing the text field
      • Removed extraneous URI encoding of filename with PUT saver
      • Restored ability to use sub-filter with image-picker macro
      • Fixed problem with the download saver and filenames containing spaces, accents or other characters that need URL encoding
      • Fixed problem with importing JSON tiddlers with leading or trailing spaces in the title
      • Fixed plugin display so that "contents" tab is shown even if no other tabs are provided
      • Fixed problem with allbefore:include filter operator
      • Updated Update Stanford JavaScript Library to version 1.0.7

      Developer Bug Fixes and Improvements

      • Extended $tw.boot.boot() to add a callback parameter
      • Extended navigation handling to pass original event data
      • Added new th-importing-files hook

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.16

       25 abril 2018 a las 16:56

      See GitHub for detailed change history of this release

      Improved CodeMirror Plugins

      The CodeMirror plugin has undergone a substantial rewrite, with many new improvements:

      • Upgrade to CodeMirror version v5.37.0
      • Now modularised into:
        • Base plugin: basic lightweight configuration, approximately 240KB
        • Add-on plugins:
          • Search and Replace
          • Auto-completion
          • Fullscreen editing
          • Auto-close brackets
          • Auto-close tags
          • SublimeText keymap
          • Emacs keymap
          • Vim keymap
          • Highlighting modes: Javascript, Xml, Html (htmlmixed), Html (htmlembedded), Css, Markdown, X-Tiddlywiki
      • Automatic configuration (the configuration tiddler is not needed anymore)
          • CodeMirror (engine.js) builds the configuration using information within the installed CodeMirror plugins
      • New control panel configuration tab:
        • Line numbers
        • Theme:
          • Editor font family (same as native TiddlyWiki)
          • Cursor settings
          • Line wrapping
        • Active line highlighting
          • Autocompletion on/off (if installed)
        • Keymap

      Other New and Improved Plugins

      Translation Improvements

      New and improved translations:

      • New Slovenian translation
      • New Português (Brasil) translation
      • Improved Dutch translation
      • Improved French translation
      • Improved German translation
      • Improved Traditional and Simplified Chinese translations
        • These translations now also reset the minimum search length to one character

      Privacy Improvements

      Prompted by the General Data Protection Regulation (GDPR), we've removed all third party cookies from tiddlywiki.com.

      Usability Improvements

      • Added new DiffTextWidget, and integrated it into the import listing and as a preview pane
      • Added selectable previews to the import listing
      • Added new editor toolbar buttons for wrapping the selection with double square and curly brackets
      • Added new sortan Operator for sorting alphanumeric values such as "Apple 6", "Apple 7", "Apple 8", "Apple 9", "Apple 10", "Apple 20", "Apple 30", "Apple 100"
      • Improved default fonts for readability as advised by GitHub
      • Added an editor toolbar button for stamping fragments of formulae for the KaTeX Plugin
      • Simplified the page scrolling behaviour: navigating to a tiddler now scrolls the top of the tiddler to the top of the viewport
      • Added WidgetMessage: tm-copy-to-clipboard and also copy-to-clipboard Macro for copying text directly to the clipboard
      • Added a hint to the field list dropdown
      • Added a control panel setting for the default tab in the More sidebar
      • Added a control panel setting for the titles of new tiddlers
      • Added "rotate left" button to bitmap editor toolbar
      • Improved criteria under which certain editor toolbar buttons are displayed
      • Added support for a minimum length for the new tag field before the dropdown is shown
      • Improved consistency and reusability of the palette, language and theme switchers
      • Added support for retaining tab content in the tabs Macro
      • Added support for adding links via the enter key

      Hackability Improvements

      Bug Fixes

      • Removed superfluous list item at the end of list-links-draggable macro
      • Fixed problem with the content area of vertical tabs sometimes overflowing their right hand margin
      • Fixed problem with double quotes within the new journal template
      • Fixed problem with dragging inside a textarea
      • Fixed usage of "default" attribute of SelectWidget when "index" attribute is used
      • Fixed problem with crash when dragging over TiddlyWiki on some browsers
      • Fixed issue with new journal button
      • Fixed problem with filter and value attributes of SetWidget
      • Fixed problem with numeric operands in the Extended Listops Filters
      • Fixed problem with "put" saver and 412 return codes
      • Fixed problem with variable references in field values in the edit template
      • Extended behaviour of list-after field so that the tiddler is placed at the end of the list if the list-after field is present but empty

      Developer Bug Fixes and Improvements

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.17

       12 mayo 2018 a las 11:43

      See GitHub for detailed change history of this release

      Reversions

      After encountering significant problems we've reluctantly decided to remove support for multiple sub-operators with the is Operator that was added in v5.1.16.

      Usability Improvements

      • Improved appearance of TiddlyWiki's "red screen of embarrassment"

      Bug Fixes

      • Fixed problem with extraneous space in new journal titles
      • Fixed problem with repeated use of "new journal" with text set
      • Fixed (and here) problem with Etag handling
      • Fixed problem with is Operator introduced in 5.1.16
      • Restored default of the preview pane being hidden
      • Fixed incorrect plugin library location
      • Fixed animation timing problem with reveal widget that sometimes caused the sidebar not to show when requested
      • Fixed problem with saving with non-Dat URI schemes
      • Fixed deletion of $:/status/UserName when logged out

      Node.js Improvements

      • Stopped clearing $:/status/UserName when logged out
      • Fixed bug with attempting to lazy load tiddlers that do not qualify for syncing
      • Added support for /*\ style metadata comments at the top of *.CSS files

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.18

       6 diciembre 2018 a las 9:00

      See GitHub for detailed change history of this release

      Major Improvements

      Global Keyboard Shortcuts

      This version introduces new infrastructure to handle global keyboard shortcuts. The core ships with the following shortcuts:

      • alt-I (or ctrl-I on Mac) - New image
      • alt-J (or ctrl-J on Mac) - New journal
      • alt-N (or ctrl-N on Mac) - New tiddler

      See How to create keyboard shortcuts

      Node.js HTTP Server

      The HTTP WebServer functionality has been significantly improved:

      See WebServer for more details, or see the changes on GitHub.

      Special Characters in Tiddler Titles

      In previous versions of TiddlyWiki, there were some special character sequences in tiddler titles that would break certain features. For example, a tiddler title ending in double quotes would cause the Table-of-Contents Macros to render incorrectly.

      As of 5.1.18, many of these problems have been fixed by refactoring the features to use the latest abilities of wikitext:

      Note that using certain characters in tiddler titles will still prevent some features from being used correctly. For example, two vertical bar characters are used in the double curly braces transclusion syntax to separate the tiddler title from the template title: {{title||template}}. However, although it would be impossible to transclude a tiddler called title||template using that syntax, one could still transclude it using <$transclude tiddler="title||template"/>.

      Plugin Improvements

      Translation Improvements

      New and improved translations:

      • Catalan
      • Chinese Simplified and Chinese Traditional
      • Dutch
      • French
      • German

      Usability Improvements

      • Added support for splash screens to be shown while TiddlyWiki is loading – see Creating a splash screen
      • Added display of backlinks when renaming a tiddler
      • Added persistent indicators at the bottom of the window showing any hidden drafts
      • Added current username (if set) to the title of draft tiddlers, making them easier to identify in multiuser scenarios
      • Added a warning for binary tiddlers in view mode
      • Extended permalink/permaview to copy the URL to the clipboard as well as updating the address bar. This behaviour can be customised in $:/ControlPanel settings
      • Improved saving to use the $:/SiteTitle as the basis of the filename
      • Added support for webp, heic and heif image formats
      • Fixed tiddler positioning when creating new tiddlers
      • Fixed smooth scrolling in new windows
      • Fixed problem dismissing popups within new windows
      • Fixed handling of disabled missing links so that core user interface features are not broken (see also here)

      Hackability Improvements

      Bug Fixes

      • Fixed with WidgetMessage: tm-new-tiddler overwriting creation fields of existing tiddlers
      • Fixed problem with unwanted variable substitutions by restricting variable substitutions to macros defined with the define pragma
      • Fixed problem with the 'excise' editor toolbar button not showing if the tiddler type is "text/vnd.tiddlywiki"
      • Fixed problem with generation of wifi QR codes
      • Fixed $tw.platform.isLinux on the latest Firefox
      • Fixed problem with using full screen on secondary windows
      • Fixed subtle bug whereby the RevealWidget was not refreshing properly when the state tiddler of a popup changed
      • Fixed problem with malformed HTML entities
      • Fixed crash when passing illegal arguments to the decodeuri Operator and decodeuricomponent Operator
      • Fixed errors when a popup blocker blocks opening a new window
      • Fixed problems using a lazily loaded tidler as a state tiddler with the RevealWidget
      • Fixed problem with modals not appearing in the correct window
      • Fixed the animations for adding and removing tags in edit mode, and a similar fix for the animations in the "Open" sidebar tab

      Developer Bug Fixes and Improvements

      • Refactored $tw.utils.parseStringArray() to optionally allow non-unique entries

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.19

       20 diciembre 2018 a las 16:34

      See GitHub for detailed change history of this release

      This release consists of fixes for bugs discovered in Release 5.1.18.

      Hackability Improvements

      Bug Fixes

      • Fixed incompatible change to the construction of filename used for saving
      • Fixed problem with fonts for the KaTeX Plugin
      • Fixed problem with forcing basic authentication for the WebServer
      • Fixed problem with the ButtonWidget not refreshing when the popupTitle attribute changes
      • Fixed problem with empty.html accidentally containing a splash screen
      • Fixed regression with search matches across multiple fields

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.2

       27 septiembre 2014 a las 17:24

      See GitHub for detailed change history of this release

      This is another small release with documentation updates and a few bug fixes and improvements.

      Usability Improvements

      Hackability Improvements

      • Improved styling of separator before the untagged item in the tags sidebar
      • Improved error handling for the upload saver (which is used for saving to TiddlySpot)
      • Improved storyview error detection

      Bug Fixes

      • Fixed crash caused by incorrectly formatted plugins
      • Fixed problem with tiddler info not being removed by the syncer after deleting a tiddler
      • Fixed HTTP handling to treat response code 201 as success

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.20

       9 agosto 2019 a las 15:13

      See GitHub for detailed change history of this release

      New Conditional Operators

      Added new Conditional Operators then Operator and else Operator

      New Mathematics Operators

      Added several new Mathematics Operators for working with numbers: negate, abs, ceil, floor, round, trunc, untrunc, sign, add, subtract, multiply, divide, remainder, max, min, fixed, precision, exponential, sum, product, maxall and minall.

      New String Operators

      Added several new string operators: match, length, uppercase, lowercase, titlecase, sentencecase, trim, split, splitregexp and join.

      Improved Handling of Duplicates in Filters

      There is now finer control over TiddlyWiki's default behaviour of removing duplicates from filter results, making it much easier to work with the new mathematics and string operators:

      • Added support for new = prefix for merging filter runs without removing duplicates
      • Added option for the enlist Operator to not remove duplicates

      Improved Keyboard Shortcuts

      Keyboard shortcut handling has been significantly improved with the following new global shortcuts (configurable via $:/ControlPanel):

      • ctrl-shift-F - focus the sidebar search field
      • alt-shift-S - toggle the visibility of the sidebar
      • ctrl-shift-A - open the advanced search tiddler

      Saving to GitHub and GitLab

      Added a Git service saver for saving directly to GitHub and GitLab

      Plugin Improvements

      New and improved plugins:

      Translation Improvements

      New and improved translations:

      • Catalan
      • Chinese Simplified and Chinese Traditional
      • French
      • German
      • US English

      Performance Improvements

      • Added pluggable index modules to accelerate the field Operator and the tag Operator (in tests on a wiki with 60K tiddlers, startup time is reduced by 25% with these optimisations, and refresh time is reduced by a factor of three.)
      • Optimised the "Classic" storyview to perform much faster when the animation duration is set to zero (approximtely 50% speed improvement was observed in tests opening a storyview with 8,000 entries)
      • Optimised the RevealWidget to avoid using the relatively slow localeCompare() method to compare strings
      • Updated Performance Instrumentation to show the timings for individual filters
      • Optimised rendering and refreshing child widgets

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed a long standing problem with the main standalone HTML file template whereby raw markup tiddlers would be included even if not selected by the save filter
      • Fixed overlapping dropdowns with sticky titles enabled
      • Removed apparently obsolete limitation of selection wrapping in text editor
      • Fixed bug in RevealWidget when stateTitle tiddler is missing
      • Fixed bug with animation duration being blank
      • Fixed Firefox problem with drag and drop placeholders in the "open" tab of the sidebar
      • Ameliorated Firefox problem with sticky placeholder during drag and drop operations
      • Fixed CodeMirror Plugin to use tiddler-editor-border colour
      • Fixed problem using the TiddlySpot saver with cookies disabled
      • Fixed framed text editor to use correct background colour
      • Fixed problem with the class tc-sidebar-lists being used on two different areas of the sidebar, making it impossible to distinguish them in CSS selectors
      • Fixed problem with unnecessary "list" field created when renaming tiddlers
      • Fixed crash with EditBitmapWidget and missing tiddlers

      Node.js Bug Fixes and Improvements

      Developer Bug Fixes and Improvements

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.21

       10 septiembre 2019 a las 16:23

      See GitHub for detailed change history of this release

      Congratulations to Sylvain Comte for his winning design for the banner for this release (here are the other entries).

      This is a bug fix release that resolves issues introduced in the recent Release 5.1.20.

      Bug Fixes

      Node.js Bug Fixes

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.22

       15 abril 2020 a las 17:08

      See GitHub for detailed change history of this release

      Congratulations to Thomas Elmiger for his winning design for the banner for this release (here are the other entries).

      Major Improvements

      Dynamic Plugin Loading

      Plugins can now be loaded or deleted dynamically, without requiring a reload – as long as they don't contain any JavaScript modules. Plugins that require a reload are indicated in the plugin chooser in $:/ControlPanel.

      The plugin listing and the plugin chooser in the control panel feature several improvements:

      • A new "Updates" tab listing all upgrades available from a plugin library, and a button to update all of them with one click
      • Tabs are now used to display plugin libraries within the plugin chooser
      • The plugin chooser now displays plugins that provide add-on functionality to another plugin as nested "sub-plugins", making the main listing easier to navigate
      • Plugins may now declare dependencies that are automatically installed without user intervention
      • All plugins are now displayed more consistently, including a concise, informal name (in addition to the description and title)

      Client-Server Improvements

      This release sees several improvements to the client-server configuration:

      • Improved resilience to connection errors. Errors encountered by the browser are automatically retried, and when they succeed the associated error messages are automatically removed
      • Changes to system tiddlers are now synchronised from the server to the browser
      • Deletions of tiddlers on the server are now synchronised to the browser
      • New "cloud" page control button with a dropdown menu showing status and additional actions:
        • "Refresh from server" to force an immediate check for changes from the server
        • "Logout"
        • "Save snapshot for offline use" to save a copy of the wiki without the client-server components
        • "Copy syncer logs to clipboard" to make it easier to ask end users for debugging information
      • Added "filter" and "exclude" parameters to the GET /recipes/default/tiddlers.json endpoint to allow the returned tiddlers and fields to be filtered
      • Enhanced LazyLoading to include skinny versions of tiddlers in the HTML file, and to avoid unnecessary loads from the server
      • The official plugin library is now disabled when the tiddlyweb adaptor is active
      • Internal file system details are no longer exposed to browsers when a file request fails (see https://github.com/Jermolene/TiddlyWiki5/issues/3724)

      See the pull request on GitHub for more details.

      New compare Operator

      Added a new filter operator for comparing numbers, strings, dates and version numbers. For example:

      [[2]compare:number:eq[3]]
      returns nothing
      [[2]compare:number:lt[3]]
      returns "2"
      [[2]compare:number:eq[2]]
      returns "2"
      =1.2 =1.8 =2.3 =3.4 =7.2 +[compare:number:gt[1.5]compare:number:lt[2.5]]
      returns "1.8" "2.3"
      [[1]compare:number:gt[2]then[yes]else[no]]
      returns "no"

      New Plugins

      • Added new menubar plugin that creates a menu bar that is responsive on mobile devices, and supports search, dropdowns and links
      • Added new freelinks plugin to automatically create links from any tiddler title, without having to type double square brackets or use CamelCase.
      • Added new dynannotate plugin containing primitives for overlaying annotations or highlights over other content
      • Added new share plugin for sharing tiddlers via the URL location hash
      • Switched the markdown plugin to the newer and improved remarkable library

      Translation Improvements

      • Improved Chinese translation
      • Improved Dutch translation
      • Improved French translation
      • Improved German translations
      • Improved Portuguese translation

      Performance Improvements

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.23

       24 diciembre 2020 a las 13:29

      See GitHub for detailed change history of this release

      Congratulations to Atronoush for his winning design for the banner for this release (here are the other entries).

      Performance Improvements

      • improved filter execution to use a more efficient linked list structure for intermediate results
      • updated widget mechanism to cache the result of parsing macros which don't use text substitution
      • updated page templates to use a single VarsWidget instead of several SetVariableWidgets, for improved performance and easier debugging
      • updated ListWidget to not initialize parsers for blank emptyMessage attributes

      Usability Improvements

      • renamed "references" to "backlinks" in the tiddler info panel
      • added warning message about using the online plugin library with the client-server configuration
      • updated favicon for the prerelease edition
      • removed normalize.css's styling of search input fields and updated to a modern fork of normalize.css
      • removed unneeded editor toolbar buttons when editing SVG tiddlers
      • added global keyboard shortcut for switching layouts
      • hide the .tid exporter when more than one tiddler to export

      Import Mechanism Improvements

      • added support for renaming tiddlers and a warning about overwriting existing tiddlers
      • added colour coding for import items that will overwrite existing tiddlers, and for other warnings
      • improved other warnings in the import listing
      • fixed content type of imported .tid files that do not have a type field
      • fixed extraneous system tiddlers created during import process

      Palette Improvements

      Keyboard Handling Improvements

      • added support for navigating the search and new tag dropdowns via the keyboard. The keyboard-driven-input Macro can be used to add this capability to other dropdowns
      • added a tabIndex property to the tiddler editor input area to make it easier to use the tab key to move between edit controls
      • added keyboard support for cycling through the tabs in $:/AdvancedSearch
      • added keyboard support for navigating the field name dropdown in the Edit Template
      • added keyboard support or navigating the type field input in the Edit Template
      • added keyboard support for using the insert wikilink toolbar dropdown in the Edit Template
      • added a keyboard shortcut for saving the wiki
      • added a keyboard shortcut for deleting a field in the edit template
      • added a keyboard shortcut to change the sidebar layout

      Widget Improvements

      Filter Improvements

      New capabilities:

      • added support for multiple operands for filter operators

      New filter run prefixes:

      New operators:

      Other improvements:

      Tiddler File Naming Improvements

      extended the mechanism for Customising Tiddler File Naming to:

      Hackability Improvements

      • added basic support for switching page templates
      • extended the WidgetMessage: tm-scroll message to allow the target element to be specified by a CSS selector, making it possible to scroll to positions within a tiddler
      • fixed modals to incorporate a NavigatorWidget so that links work as expected
      • extended the Table-of-Contents Macros to support custom link targets
      • added new Hyperdrive saver for use with Beaker Browser v1.0
      • extended favicon mechanism to support _canonical_uri images
      • added support for recording the startup timestamp in $:/info/startup-timestamp (see InfoMechanism)
      • added support for SVG favicons
      • extended th-saving-tiddler hook to include information about the draft tiddler (see https://tiddlywiki.com/dev/#Hook%3A%20th-saving-tiddler)
      • extended WidgetMessage: tm-rename-tiddler to control whether relinking occurs
      • extended WidgetMessage: tm-import-tiddlers to override the title $:/Import and to better control whether the import tiddler is opened automatically
      • extended the internal <$element> widget to add a hook so that plugins can intercept DOM node creation
      • added original event to tm-navigate event
      • extended the password prompt to enable it to be customised
      • extended syncer to enable syncadaptors to customise the login prompt
      • extended the tabs Macro to support actions and explicitState attributes
      • updated (and here) filters used for syncing on node.js and saving the single file version to exclude multiple story lists and history lists based on their prefix, as well as multiple tiddlers that might be used for the import process
      • added post-render startup actions
      • added support for username/password parameters for tm-login message
      • added support for the content type image/jpg (the correct type is image/jpeg but the misspelling is common so most browsers now support it)
      • added support for an override saver
      • added utility CSS classes to replace use of &nbsp; to introduce visual separation
      • added option to configure the tag used for TableOfContents in the menubar
      • modified the KeyboardWidget to not trap keys if there are no actions to be invoked
      • added buttons to the Edit Template toolbar for the editor-height and the stamp tool for tiddlers of type application/javascript,application/json and application/x-tiddler-dictionary
      • updated all instance of the tabs Macro in the core to use the explicitState attribute
      • added support for the meta key as a modifier in actions
      • added support for $:/info/darkmode to the InfoMechanism, reflecting the browser dark mode vs. light mode setting
      • updated story.js to remove dependency on wiki.js for story start up and navigator

      Plugin Improvements

      JSZip Plugin

      extended the JSZip Plugin with the ability to dynamically create Zip files, and thus to conveniently build multi-file static sites within the browser

      Consent Banner Plugin

      added the new Consent Banner Plugin plugin helps make websites that are compliant with "cookie legislation" such as the EU General Data Protection Regulation. It presents a banner inviting the user to accept or reject cookies, keeping track of their consent in local storage so that the banner can be hidden on subsequent visits.

      By default, content embedded with <iframe>, <embed> and <object> is blocked unless the user consents to accept cookies.

      Consent status is available via a configuration tiddler so that it is possible to construct content that behaves differently depending upon whether consent has been granted. As an example, a macro is provided for embedding YouTube videos that automatically uses the youtube-nocookie.com variant of video URLs unless the user has accepted cookies.

      Please note that using this plugin does not guarantee compliance with any particular legislation. You will need to understand the technical issues specific to your situation, and if necessary seek legal advice.

      Freelinks Plugin

      • added (and here) support for ignoring case when matching titles
      • fixed bug with autolinking within HTML <a> elements

      Twitter Plugin

      • added warning if wiki needs to be saved and reloaded

      Dynaview Plugin

      CodeMirror Plugin

      Markdown Plugin

      • fixed encoding of Markdown image files
      • fixed issue with whitespace and linebreaks
      • added tc-tiddlylink-external class to external links
      • fixed to add rel="noopener noreferrer" to external links
      • updated to use palette colours

      Amazon Web Services Plugin

      • added a new aws-encodeuricomponent filter that also encodes single quotes

      BibTeX Plugin

      • updated to a later fork of the underlying third party BibTeX parsing library

      Menubar Plugin

      • updated so the top margin of the side bar adjusts to the height of the menu

      Dynannotate Plugin

      • added examples of usage in the View Template

      External Attachments Plugin

      Highlight Plugin

      Translation Plugins

      Other Bug Fixes

      • fixed parsing of dates from 0 to 100CE
      • fixed handling of negative dates (see Date Fields and DateFormat)
      • fixed "409 conflict" errors with the GitHub saver when saving within 60 seconds of the last save
      • fixed behaviour of system tiddler syncing with the client server configuration. By default, changes to system tiddlers are not synced from the server to the client, restoring the behaviour from v5.1.21 and earlier. Bidirectional syncing of system tiddlers can be enabled with the configuration tiddler $:/config/SyncSystemTiddlersFromServer
      • fixed hover effect for search dropdown items
      • fixed restored missing parameter to saveTiddler() method of syncadaptors
      • fixed MakeLibraryCommand to skip non-directories
      • fixed erroneous use of $tw.wiki
      • fixed high CPU usage with animated syncing icon introduced in v5.1.22
      • fixed $:/config/NewJournal/Tags appearing in tag dropdowns
      • fixed popups not being cancelled when clicking within a text editor
      • fixed issue with timeline Macro and invalid date values
      • fixed hover colours of tag dropdowns in the sidebar
      • fixed alignment of tag pill icons
      • fixed crash with droppable widget
      • fixed issue with adding tags in $:/Manager
      • fixed edit template "type" dropdown positioning
      • fixed edit template field dropdown positioning
      • fixed (with addendum) syntax error in ScrollableWidget
      • fixed problem with headers not being treated case insensitively
      • fixed problem with Content-Type HTTP header sent as Content-type
      • fixed EntityWidget not refreshing correctly
      • fixed Markdown Plugin to honour alignment directives
      • fixed syncing issues with external JS template
      • fixed incorrect base64 encoding of astral plane Unicode text
      • fixed server error when saving a new tiddler created by following a tiddler link
      • added a plugin-priority field to the TiddlyWeb plugin so that language plugins can override its language strings
      • fixed bug whereby joining an empty list would not return an empty list
      • fixed bug exporting tiddlers with double quoted titles
      • fixed bug with syncing plugin tiddlers
      • fixed bug with the position of the tiddler title when there is no icon in use
      • fixed unwanted autosave in the upgrade wizard
      • fixed problem whereby $:/temp tiddlers were being saved in single file wikis
      • fixed a bug with the sortan filter operator when used with date fields
      • fixed a bug for location hashes that contain a # character
      • fixed default branch to main for saving to GitHub
      • fixed shadow tiddlers not refreshing when their plugin is deleted or modified
      • fixed tc-dirty class not appearing on external windows
      • fixed static.tiddler.html template to make rendered tiddlers full-width

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @adithya-badidey
      2. @Arlen22
      3. @bimlas
      4. @BramChen
      5. @BurningTreeC
      6. @danielo515
      7. @default-kramer
      8. @ento
      9. @favadi
      10. @fkohrt
      11. @flibbles
      12. @gera2ld
      13. @ibnishak
      14. @idotobi
      15. @jdangerx
      16. @jjduhamel
      17. @joshuafontany
      18. @Kamal-Habash
      19. @kookma
      20. @Marxsal
      21. @mocsa
      22. @NicolasPetton
      23. @OmbraDiFenice
      24. @passuf
      25. @pmario
      26. @rmunn
      27. @saqimtiaz
      28. @SmilyOrg
      29. @twMat
      30. @xcazin

      Release 5.1.3

       21 febrero 2015 a las 23:01

      See GitHub for detailed change history of this release

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed the each operator to work with missing tiddlers
      • Fixed problem with tiddler width in zoomin storyview with the sidebar hidden
      • Fixed bug whereby the tm-home message wasn't navigating to a tiddler, causing problems in zoomin storyview
      • Fixed problem with jumping toolbar icons under Firefox
      • Fixed problem with untagged label being incorrectly coloured
      • Fixed problem with title background colours with the "Sticky Titles" theme
      • Fixed problem with subfilter parameter of timeline macro
      • Exclude search string tiddler from search results

      Node.js Changes

      These changes are only relevant to people using TiddlyWiki under Node.js

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.4

       22 octubre 2014 a las 16:55

      See GitHub for detailed change history of this release

      This is a small release with documentation improvements and some important bug fixes from Release 5.1.3.

      Usability Improvements

      • Added a toolbar button for advanced search
      • Changed dragging behaviour so that you can drag a tiddler title into an edit box to insert the title, making link creation easier. (This change doesn't affect the behaviour of dragging tiddler links between TiddlyWiki windows)

      Hackability Improvements

      • Added additional theme tweaks for the body text size and line height
      • Extended the ViewWidget to work with subtiddlers

      Bug Fixes

      • Fixed problem with search counts

      Node.js Changes

      These changes are only relevant to people using TiddlyWiki under Node.js

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.5

       21 febrero 2015 a las 22:50

      See GitHub for detailed change history of this release

      Translation Improvements

      • Added new translators edition making it much easier to create and maintain translations of TiddlyWiki
      • Added improved Japanese translation
      • Added new Danish translation
      • Added new Greek translation

      Usability Improvements

      • Improvements to tooltips for accessibility
      • Added export button to tiddler toolbar, page controls and advanced search "filter" tab
      • Improved layout of $:/TagManager
      • Simplified default tiddler toolbar buttons
      • Added advanced search button to sidebar search results
      • Improved search results by listing title matches at the top
      • Added input box for specifying new field value in edit template
      • Improved tag pill rendering so that the foreground colour is dynamically chosen for maximum contrast with the background colour
      • Enhancements to many of the core icons
      • Removed (and here, here and here) unnecessary confirmations when abandoning or deleting unmodified tiddlers
      • Added a subtle rounded corner to tiddlers and tabs
      • Added automatic focusing of the title of newly created tiddlers
      • Added advanced search links on tiddler counts in $:/ControlPanel

      Hackability Improvements

      Bug Fixes

      Node.js Changes

      These changes are only relevant to people using TiddlyWiki under Node.js

      Changes affecting plugin authors

      • Disabled wiki change events for shadow tiddlers
      • Updated structure of widget messages that have a hashmap parameter
      • The support for nested popups has necessitated a change in the way that popups are styled that affects popups that are triggered with the focusPopup attribute of the EditTextWidget: it is now necessary for the widget to be given the class tc-popup-handle.

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.6

       21 febrero 2015 a las 19:42

      See GitHub for detailed change history of this release

      Translation Improvements

      • Added Dutch translation
      • Updated Danish and Japanese translations

      Hackability Improvements

      Bug Fixes

      • Fixed problem with download saver using incorrect filename
      • Fixed problem with processing of date format templates
      • Fixed problem with storytop theme tweak not being respected when the narrow responsive design kicks in

      Node.js Changes

      These changes are only relevant to people using TiddlyWiki under Node.js

      • Fixed problem with "all tiddlers" static HTML export
      • Fixed incorrect checking for an empty folder with the InitCommand

      Changes affecting plugin authors

      • Extended $tw.utils.each so that the loop can be broken out of

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.7

       19 diciembre 2014 a las 21:50

      See GitHub for detailed change history of this release

      This is an hot fix release with the following change over Release 5.1.6:

      Release 5.1.8

       17 abril 2015 a las 17:33

      See GitHub for detailed change history of this release

      This release includes many improvements to the documentation for TiddlyWiki. Many thanks to everyone who has helped out, but especially to our prodigious new contributor Astrid Elocson.

      Translation Improvements

      • Improvements to French, Danish, Chinese and Japanese translations
      • Added Czech translation
      • Added Interlingua translation
      • Added Portuguese translation
      • Added Punjabi and Hindu translations
      • Added Slovak translation
      • Added Spanish translation
      • Added localisation for encryption prompt

      Usability Improvements

      Hackability Improvements

      Bug Fixes

      • Fixed the sameday Operator and eachday Operator to accept TW5 date strings
      • Fixed version number compatibility checks for plugins
      • Fixed problem with repeatedly cancelling a draft
      • Improved sandboxing of generated <iframe> elements
      • Fixed problem with modal backgrounds on Firefox
      • Fixed problem with accidentally dragging a tiddler within its originating window
      • Fixed problem with dragging certain plugins with Safari
      • Partially fixed problem with SVG icons being clipped by 1 pixel on the right and bottom
      • Fixed problem with double quotes in a new field value

      Node.js Changes

      These changes are only relevant to people using TiddlyWiki under Node.js

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.1.9

       3 julio 2015 a las 16:37

      See GitHub for detailed change history of this release

      Major Improvements

      New "Powered by TiddlyWiki" plugin

      An experimental plugin to add a simple "Powered by TiddlyWiki" banner to your site. It is included in this prerelease but will not be on the main tiddlywiki.com wiki.

      New "Fluid story, fixed sidebar" mode

      It is now possible to arrange the main window so that the sidebar has a fixed width and the story river expands to fill the remaining space.

      To switch it on, visit Theme Tweaks in the $:/ControlPanel Appearance tab and use the following options:

      • Sidebar layout:
        • Fixed story, fluid sidebar (default) - the story river has a fixed width and the sidebar fills the remaining space
        • Fluid story, fixed sidebar - the story river expands to fill horizontal space remaining after the fixed width sidebar
      • Sidebar width:
        • The width of the sidebar. Can be specified in pixels (eg 350px), a percentage (eg 25%) or other CSS unit

      Toolbar Button Style Setting

      A new setting in $:/ControlPanel Settings tab allows the toolbar button style to be chosen from the following options:

      • the existing style
      • , which adds a thin border box around the button
      • , which rounds the button corners and inverts the button colours

      Plugins can add new style options.

      New Tiddler Toolbar Button: "Open in new window"

      An experimental new tiddler toolbar button opens a single tiddler in a separate pop-up browser window. The tiddler will be dynamically updated just as in the main window. There are several uses:

      • Arranging reference tiddlers for easy access while editing in the main window
      • Making good use of multi-screen layouts
      • Printing the content of a single tiddler
      • Running presentations in a separate window while maintaining notes in the main window

      Improvements for visually impaired users

      • Improved monochrome palette variants:
        • . Foreground: , Background:
        • . Foreground: , Background:

      New "Solar Flare" palette

      There's a new core palette "Solar Flare", contributed by Rustem Akbulatov (@nameanyone).

      Options for Story Control

      There are new options for controlling the position in the story river of newly opened tiddlers. Visit the Settings tab of $:/ControlPanel and look for "Tiddler Opening Behaviour".

      New Hidden Settings

      Two new hidden settings for advanced configuration:

      New Vars widget

      Added VarsWidget for setting multiple variables in one operation:

      <$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
        <<greeting>>! I am <<me>> and I say: <<sentence>>
      </$vars>

      Other Improvements

      Translation Improvements

      • Updates to the Dutch, Chinese, Italian and German translations
      • New Catalan (Spain) translation

      Usability Improvements

      • Added new page control icon for setting the palette:
      • Added new icons for palette and "open new window"
      • Improved the theme icon to better match the new palette icon:
      • Avoid glitch with autofocusing the search box in the plugin library
      • Added information about TiddlyDesktop to Releases
      • Stopped autosaving after cancelling an edit
      • Added dropdown to edit template to allow existing field names to be selected

      Hackability Improvements

      • Updated to KaTeX version 0.4.3, with the following editions since the previous 0.2.0 release that was distributed with TiddlyWiki 5.1.8:
        • Added support for some \begin/\end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix
        • Added support for optional \sqrt arguments, e.g. \sqrt[3]{x}
        • Add support for \phantom
        • Add \#, \&
        • See the KaTeX GitHub page for full release details
      • Extended ActionSendMessageWidget for more flexible passing of named parameters via new $name and $value attributes
      • Added styling for <kbd> elements such as escape and enter
      • Added subtle new "pin stripe" pattern for page background -
      • Added support for custom elements to the ButtonWidget
      • Improved CodeMirror plugin to automatically refresh when a tiddler type changes
      • Added new setting in $:/ControlPanel to render tiddler titles as links, which can be convenient for drag and drop
      • Simplified detecting the preview pane with the tv-tiddler-preview Variable
      • Improved automatic linking of system tiddler titles by restricting them to letters and the characters /.-

      Bug Fixes

      • Fixed problem with special characters in field names
      • Fixed static banner layout on mobile devices
      • Fixed popups within the scrollable widget by adding position: relative; to example scrollable widget styles

      Contributors

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      Release 5.2.0

       3 octubre 2021 a las 16:15

      See GitHub for detailed change history of this release

      Congratulations to Frank. B for his winning design for the banner for this release (here are the other entries).

      Highlights

      Unrestricted Fieldnames and the New JSON Store Area

      The major change in this release is that the format used to store tiddlers in TiddlyWiki's HTML file has changed from an HTML DIV-based format to a new JSON-based format. The consequences of this change are far-reaching. They are thus the primary rationale for bumping the version number from v5.1.x to v5.2.0:

      Firstly, the characters that can be used in field names are now unrestricted (just like tiddler titles), making it possible to use fieldnames like My^Field or ☃️. This has become possible because every other part of TiddlyWiki was already capable of dealing with unrestricted field names apart from saving as an HTML file.

      Secondly, external tools that read, write or otherwise process TiddlyWiki HTML files will need modification to understand the new store area format. The details are documented in the /dev wiki.

      For more details, see ticket #5708 on GitHub.

      Dragging and Dropping Images into the Editor

      It is now possible to drag and drop an image file directly into the tiddler text editor. A popup allows the incoming image tiddler to be renamed, and then [img[title]] is automatically inserted into the tiddler text at the insertion point.

      • added (and again here) ability to drag and drop images directly in the editor

      Simplified Access to Tiddler Title with ActionCreateTiddlerWidget

      It is now possible to embed actions within the body of the ActionCreateTiddlerWidget, and those actions can directly access the title of the newly created tidddler via the variable createTiddler-title, and the title of the corresponding draft in the variable createTiddler-draftTitle. The old $savetitle and $savedrafttitle attributes are now deprecated.

      <$button>
        <$action-createtiddler $basetitle="Homemade Button" tags="$:/tags/PageControls" text={{$:/state/new-button-caption}}>
          <$action-navigate $to=<<createTiddler-title>>/>
        </$action-createtiddler>
        Create a new non-functional page control button and open the tiddler
      </$button>

      For more details:

      More Flexible Parsing of Macros

      Two long-standing limitations of TiddlyWiki's macro syntax have been resolved.

      First, it is now possible to nest macro calls within the parameters to other macros. For example:

      <<mymacro arg:"""nested <<macro>> call""">>

      Second, macro parameters can now be used within filter expressions. For example:

      [<qualify "$:/state/mydata">addsuffix[-]addsuffix<now "YYYY MM DDD hh:mm:ss">]
      • improved macro calls to use the same parser as that used for widget attributes
      • added support for macro parameters within filters (see Filter Parameter)

      Optimised Refreshing of Transclusions

      This simple-sounding change has several important consequences:

      The first consequence is that it makes the TranscludeWidget much more efficient, and improves the performance of the refresh cycle.

      The second consequence resolves a long-standing difficulty for many users: it is now possible to use an EditWidget to edit another field of the same tiddler. Previously, the edit widget would not work properly in such cases because it would be refreshed on every keypress, leading to the current editing caret/selection position being lost.

      As sometimes happens, the third consequence is that constructions that relied on the old, buggy behaviour may no longer work as expected. A common example of such a construction is an invocation of a JavaScript macro. The problem stems from the fact that JavaScript macros are designed to be as simple as possible from the developers perspective, being pure functions that have no side effects, and that always return the same value for the same parameters. In particular, JavaScript macros cannot participate in TiddlyWiki's refresh mechansim, so they cannot force themselves to be updated when underlying data changes (for situations where such processing is needed, JavaScript widgets should be used instead of JavaScript macros).

      However, developers have sometimes worked around this limitation by using the TranscludeWidget to force refreshing of a macro invocation when a particular tiddler changes. The newer, more selective behaviour means that sometimes such widgets will avoid a refresh that was previously relied upon to update the JavaScript macro.

      For end users, if an upgrade to v5.2.0 causes problems then consult the discussion Forums to see if other users have encountered the same problem, and make a new posting if needed.

      • improved the TranscludeWidget to avoid triggering a refresh unless the transcluded field changes (previously it was also triggered for changes to other fields)

      Other Notable Improvements

      extended (and here) the ListWidget with an optional counter attribute specifying a variable to contain the numeric index of each list item. This is useful for creating a list of numbered items, and for detecting the first and last entries in a list

      extended action widget execution with an optional new mode that ensures that all widgets are refreshed before invocation – see ActionWidget Execution Modes. This resolves a long-standing inconsistency in the way that ActionWidgets are executed, making them behave much more like a conventional programming language

      improved the HTML comment syntax to enable it to be used before and in between pragmas such as macro definitions. This makes it much easier to provide documentation within complex wikitext tiddlers

      fixed size of dropzone when story river is empty. For a long time, TiddlyWiki confusingly wouldn't recognise a drag and drop operation if the story river was empty

      Performance Improvements

      Usability Improvements

      • fixed ability to import previously blocked system tiddlers
      • improved warning message when cancelling a pending import
      • updated the default font weights in the "Snow White" theme to be thicker and more legible
      • fixed modal mechanism to prevent page from scrolling while modals are displayed
      • fixed fill colour for "remove tag" button
      • fixed page title so that the separating em-dash is only used if the site subtitle is present
      • fixed broken aria-label in $:/PaletteManager
      • updated SVG optimiser script
      • added plus/minus SVG icons: and
      • added link to the existing tiddler when the warning "Target tiddler already exists" is displayed in the edit template
      • added class to make tag pills in the edit template look like those in the ViewTemplate
      • fixed overflow of long field values that do not contain whitespace
      • improved GitHub, Gitea and GitLab savers to wikify the commit message, enabling macros to be used in the message
      • improved the text editor stamp toolbar button dropdown to allow sorting by drag and drop

      Widget Improvements

      Filter improvements

      Hackability Improvements

      Client-server Improvements

      • fixed crash running in client server configuration when 'ETag' header is missing
      • fixed blank favicon when using lazily loaded images
      • fixed web server issue with custom path prefix and basic authentication
      • fixed crash on Node.js with ActionSetFieldWidget when type field is given a value upon new tiddler creation
      • fixed issue with saving tiddler files with titles that already end in the required extension
      • fixed several consistency issues with the filesystem plugin
      • fixed issue with encoding of $:/config/OriginalTiddlerPaths outside the wiki folder
      • updated the TiddlySpot Saver settings form
      • added 401 and 403 error messages for PUT saver
      • extended the external JavaScript template to be easier to use and work more smoothly when offline
      • fixed incorrect usage of X-Requested-With header for simple HTTP requests
      • fixed security issue allowing access to files outside the ./files/ folder

      Node.js Improvements

      Plugin Improvements

      Markdown Plugin

      XLSX Utilities Plugin

      • fixed crash with the XLSX Utils plugin

      KaTeX Plugin

      Freelinks Plugin

      • extended the Freelinks plugin with a filter to determine which tiddlers can be the targets of freelinks

      Menubar Plugin

      • fixed Menu plugin to support optional dropdown-position field

      BibTeX Plugin

      Developer Experience Improvements

      • improved the widget subclassing mechanism to work with widgets that add event listeners in their constructor
      • improved the Jasmine test suite output
      • extended wikitext parser with a subclassing mechanism
      • added added support for utils-browser modules
      • added th-before-importing hook to allow plugins to inspect or modify the importTiddler object before any tiddlers are imported
      • added th-closing-tiddler hook when tiddlers are closed

      Translation improvements

      Other Bug Fixes

      • fixed crash with malformed input to decodeURIComponent()
      • fixed issue with lookup Operator returning "undefined" under some circumstances
      • fixed crash with unterminated wikitext comments
      • fixed tiddler info area content bleeding on close animation
      • fixed inline/block widget parsing glitch
      • fixed runaway regexp when parsing filters
      • fixed right margin of tag pill when used outside of the tags wrapper
      • extended upload saver to optionally work without a username or password
      • fixed RadioWidget to refresh selectively, and to use the checked attribute correctly
      • fixed "invert" option of wiki.search() method
      • fixed ES5 compatibility issue
      • fixed exporting of tiddlers that begin and end with double quotes
      • improved accessibility of button widget when controlling a popup
      • fixed EditTextWidget to use default text for missing fields
      • fixed css-escape-polyfill to work under Node.js
      • fixed (and here) crash when sorting by non-string fields
      • fixed (and here) some bugs in the EventCatcherWidget, introduced new stopPropagation attribute and new syntax for specifying actions
      • fixed CurrentTiddler variable consistency in subfilters and prefixes
      • fixed crash when accessing variables in filters that don't have a widget context
      • fixed unnecessary triggering of reload warning when JavaScript tiddlers are not subsequently imported
      • fixed minor issue with import pragma
      • fixed leading and trailing whitespace in themes
      • fixed configuration list of HTML5 block elements
      • fixed shape and color for disabled button to work with tc-btn-invisible class
      • fixed inconsistent spacing of view toolbar items
      • fixed crash when assigning new value to file input controls
      • fixed text editor stamp button to work with prefixes and suffixes in shadow tiddlers
      • fixed Internet Explorer crash when pasting text using an HTA
      • fixed bug with [all[shadows]] sometimes returning overridden shadow tiddlers
      • fixed refresh bug with radio widget where the tc-radio-selected class is not correctly updated
      • fixed crash with reading invalid JSON files

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @8d1h
      2. @Arlen22
      3. @BlueGreenMagick
      4. @BramChen
      5. @BurningTreeC
      6. @cdruan
      7. @clutterstack
      8. @CodaCodr
      9. @dixonge
      10. @donmor
      11. @felixhayashi
      12. @FlashSystems
      13. @flibbles
      14. @FND
      15. @hoelzro
      16. @jeremyredhead
      17. @joebordes
      18. @joshuafontany
      19. @kookma
      20. @laomaiweng
      21. @leehawk787
      22. @Marxsal
      23. @morosanuae
      24. @neumark
      25. @NicolasPetton
      26. @OdinJorna
      27. @pmario
      28. @rryan
      29. @saqimtiaz
      30. @simonbaird
      31. @slaymaker1907
      32. @sobjornstad
      33. @twMat
      34. @xcazin

      Release 5.2.1

       8 diciembre 2021 a las 11:58

      See GitHub for detailed change history of this release

      Congratulations to Mohammad Rahmani and Elise Springer for their winning design for the banner for this release (here are the other entries).

      Highlights

      added New Filter Cascade Mechanism

      The cascade mechanism provides a flexible way to choose between multiple options. Crucially, it is done in a way that makes it simple for plugins to tweak the logic or add their own options.

      Some of the things that can be done with cascades are:

      • Replacing the default tiddler body template with a custom one for a certain type of tiddler
      • Giving all journal tiddlers a custom icon
      • Implementing a custom editor for certain types of tiddler

      There are two parts to these changes. The underpinning is a new Cascade Filter Run Prefix that takes a list of filters and runs them in order, returning the result of the first one to return a value.

      The second part is a series of improvements based on this new filter cascade mechanism. Conditional logic that was previously hidden within core templates can now be extended and tweaked much more easily than before.

      Choosing the following elements of the core user interface is now handled with cascades:

      The cascades can be inspected in $:/ControlPanel under Info -> Advanced -> Cascades.

      See Cascades for more information.

      added New LetWidget

      The LetWidget is an improved alternative to the existing VarsWidget. It is recommended to use the new LetWidget instead of the VarsWidget in all circumstances.

      The chief advantage is that the LetWidget performs the variable assignments in the same order as they are written, and permits references to earlier assignments. For example, here we swap the values of two variables:

      <$let temp=<<foo>> foo=<<bar>> bar=<<temp>>>
      ...
      </$let>

      Bug Fixes

      Usability Improvements

      • fixed image picker in theme tweaks to not dismiss when an image is selected
      • added a new hidden setting for controlling the visibility of the editor preview pane on a per-tiddler basis
      • improved sidebar plugin listing to show icon and more details

      Widget Improvements

      Filter improvements

      Hackability Improvements

      Developer Improvements

      • added support for widgets to access the order in which attributes are defined

      Node.js Improvements

      Translation improvements

      • Polish
      • Chinese

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @bmann
      2. @BramChen
      3. @btheado
      4. @BurningTreeC
      5. @eiro10
      6. @EvidentlyCube
      7. @flibbles
      8. @joshuafontany
      9. @Marxsal
      10. @pmario
      11. @saqimtiaz
      12. @Telumire
      13. @tw-FRed
      14. @twMat

      Release 5.2.2

       25 marzo 2022 a las 13:08

      See GitHub for detailed change history of this release

      Congratulations to Elise Springer for her winning design for the banner for this release (here is the competition thread).

      Highlights

      updated Highlight Plugin to use highlight.js v11.4.0

      This is a major upgrade to the latest version of highlight.js. The new version has many improvements, including better support for Fortran.

      The new version of the Highlight Plugin requires a modern browser that fully supports JavaScript ES6 (released in 2015). The older version is still available as the highlight-legacy plugin for users who need to use an older browser.

      extended support for secondary windows

      The WidgetMessage: tm-open-window now supports an optional windowID parameter so that opened windows can be closed with the new WidgetMessage: tm-close-window message. There is also a new WidgetMessage: tm-close-all-windows message which closes all secondary windows.

      added support for line breaks within filtered transcluded attributes

      To improve readability, it is now possible to use newlines as whitespace within filtered transcluded attributes of HTML elements and widgets. For example:

      <span class={{{
      	[<currentTiddler>addsuffix[-primaryList]]
      	:except[<searchListState>get[text]]
      	:and[then[]else[tc-list-item-selected]]
      }}}>

      fixed inconsistent ordering of tagged tiddlers

      This was a long standing bug that manifested itself in several ways.

      The root cause was that the order in which tiddlers were enumerated depended upon the order in which they had been added to the store.

      The effect was that lists based on enumerating tiddlers would show different results depending upon whether new tiddlers were added since the wiki was reloaded.

      For example, adding a new tiddler with a given tag previously caused the new tiddler to appear at the bottom of the tag pill listing for that tag. Saving and reloading the wiki would reorder the list to put the new tiddler in the correct position.

      The fix ensures that the enumeration order remains consistent.

      fixed some incorrectly nested <span> and <div> elements

      TiddlyWiki's core page layout has historically included several instances of inline <span> elements containing block <div> elements, something that is technically invalid HTML. In practice, browsers have always handled these cases leniently to make the page work but it has also been unhelpful for developers to encountering invalid HTML constructions in their first interactions with TiddlyWiki.

      The immediate prompt for starting to fix these issue now is that Chrome v100 includes a change that causes some of these misnested elements to be rendered correctly visually but to be unclickable in some situations. (The change is reverted in Chrome v102, but it still makes sense to fix it)

      Plugin Improvements

      • fixed issue with LaTeX content within Markdown tiddlers
      • fixed incorrect handling of dropdown classes in the menu bar plugin
      • updated the Dynannotate plugin to use the new View Template Body Cascade to avoid modifying the default view template.

      Translation improvements

      • Polish
      • Chinese
      • French

      Usability Improvements

      • improved wording of drag and drop banner (from "drop here" to "drop now")
      • fixed wrapping and wikification of field names in field viewer
      • fixed missing whitespace between description and MIME type in edit template dropdown for the type field
      • fixed incorrect usage of code view for certain system tiddlers
      • fixed sidebar plugin listing to be sorted by name rather than description

      Widget Improvements

      Filter improvements

      Hackability Improvements

      Developer Improvements

      Node.js Improvements

      Performance Improvements

      Bug Fixes

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @benwebber
      2. @BramChen
      3. @btheado
      4. @cdruan
      5. @CodaCodr
      6. @damscal
      7. @davout1806
      8. @EvidentlyCube
      9. @FlashSystems
      10. @flibbles
      11. @FSpark
      12. @ibnishak
      13. @jc-ose
      14. @joshuafontany
      15. @linonetwo
      16. @Marxsal
      17. @nilslindemann
      18. @oflg
      19. @pmario
      20. @rryan
      21. @saqimtiaz
      22. @slaymaker1907
      23. @tw-FRed
      24. @twMat

      Release 5.2.3

       2 agosto 2022 a las 13:25

      See GitHub for detailed change history of this release

      Congratulations to feedthegood for their winning design for the banner for this release (here is the competition thread and the voting thread).

      Plugin Improvements

      Translation improvements

      • Chinese
      • French
      • German
      • Japanese
      • Polish

      Accessibility Improvements

      • improved ARIA support for the sidebar and story river
      • improved ARIA support for notifications so that screen readers will automatically read them
      • improved ARIA support for the edit template

      Usability Improvements

      • updated ActionSetFieldWidget to avoid inadvertent changes to the current tiddler
      • updated "put" and "upload" savers (as used by TiddlyHost to display error responses from the server
      • updated (and extended) various palettes to work with color-scheme: dark
      • extended the monospaced blocks and block quotes editor buttons so that they can be undone by clicking the button again
      • updated field and tag editors to trim whitespace
      • improved formatting of stylesheet tiddlers to use syntax highlighting if the Highlight Plugin is installed

      Widget Improvements

      Filter improvements

      Hackability Improvements

      Bug Fixes

      • fixed issue with drag and drop running on mobile Chrome browsers
      • fixed problem when switching fields in the editor causing their values to be cleared
      • fixed incorrect color-scheme metatag for iframe content with the framed editor
      • fixed crash when using the SaveCommand to attempt to save missing fields
      • fixed bug with formatting UTC date strings
      • fixed SaveCommand crash when attempting to save missing tiddlers
      • fixed fix broken style block behaviour
      • fixed incorrect display of image system tiddlers as text
      • fixed erroneous link rendering within captions in list-links Macro
      • fixed erroneous link rendering within captions in list-links-draggable Macro
      • fixed bug with JavaScript modules and lazy loading
      • fixed fixed tiddler title indentation discrepancy
      • fixed problem with numbered list editor button not undoing markers in Markdown tiddlers
      • fixed palette manager showing duplicate entries
      • fixed crash with missing palette tiddlers
      • fixed (and here) search inputs not to trigger Chrome's password autocomplete popup
      • fixed embedded SVG foreignObject namespace
      • fixed anchor links not working when address bar is updated with a permalink, and animation duration is set to zero
      • improved positioning of server page control dropdown
      • fixed "save changes" button in the menu bar not turning red when the wiki is dirty
      • fixed hardcoded spaces in Table-of-Contents Macros
      • fixed state handling in tabs Macro
      • fixed fixed formatting of IPv6 URLs by ListenCommand and ServerCommand
      • fixed crash when closing multiple plugin libraries

      Developer Improvements

      Node.js Improvements

      Performance Improvements

      • updated filter processing to allow compiled filters to be cached

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @Arlen22
      2. @BramChen
      3. @btheado
      4. @BurningTreeC
      5. @damscal
      6. @es-kha
      7. @EvidentlyCube
      8. @FlashSystems
      9. @flibbles
      10. @FSpark
      11. @fu-sen
      12. @ibnishak
      13. @jeremyredhead
      14. @joshuafontany
      15. @kookma
      16. @linonetwo
      17. @Marxsal
      18. @MaxGyver83
      19. @ndarilek
      20. @oflg
      21. @pmario
      22. @rmunn
      23. @saqimtiaz
      24. @simonbaird
      25. @Telumire
      26. @tobibeer
      27. @tw-FRed
      28. @twMat
      29. @xcazin

      Release 5.2.4

       13 diciembre 2022 a las 16:31

      See GitHub for detailed change history of this release

      Congratulations to dmikh for their winning design for the banner for this release (here is the competition thread and the voting thread).

      Important Update

      After the release of v5.2.5, we found some backwards compatibility issues with the stylesheet changes in #7039 and #6910. We have therefore decided to make a rapid bug fix Release 5.2.5 to resolve these issues, and all users should upgrade to the new version.

      Major Improvements

      New Twitter Archivist plugin to import the tweets and associated media from a Twitter Archive as individual tiddlers.

      added new GenesisWidget that allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance

      added (and here) new operators for reading and formatting JSON data: jsonget Operator, jsonindexes Operator, jsontype Operator, jsonextract Operator and format Operator

      Translation Improvements

      Improvements to the following translations:

      • Chinese
      • French
      • German
      • Polish
      • Spanish
      • Japanese

      Improvements to the translation features of TiddlyWiki itself:

      Usability Improvements

      • fixed problem with long presses on tiddler links triggering a preview on iOS/iPadOS
      • improved consistency of button and input elements across browsers
      • fixed edit preview to use the View Template Body Cascade
      • fixed opening a tiddler in a new window to use the View Template Body Cascade
      • improved detection of infinite recursion errors in widgets and filters
      • extended default styles for styled runs
      • improved upgrade wizard to make the version number more prominent
      • improved parsing of tiddlers containing CSV data for greater compatibility
      • added new page control button to summon the layout switcher
      • fixed folded tiddlers to ensure that the unfold button is always visible
      • improved handling of Modals to optionally allow them to be dismissed by clicking on the background

      Widget Improvements

      Filter improvements

      • fixed issue with availability of variables within filter runs
      • fixed issue with removing multiple items from a linked list during filter processing

      Hackability Improvements

      Bug Fixes

      • fixed truncated search results on small screens
      • fixed table contents overflow on small screens
      • fixed "new image" keyboard shortcut not to assign journal tags
      • fixed SelectWidget class to update if it uses a filter
      • fixed issue with wikification within the advanced search filter dropdown
      • fixed the table in $:/Import to avoid creating hidden empty rows
      • fixed advanced search keyboard shortcut not navigating correctly
      • fixed erroneous display of drafts within the advanced search filter dropdown
      • fixed backwards compatibility of new field editor cascade introduced in v5.2.3

      Node.js Improvements

      • added new CommandsCommand to enable command tokens to be dynamically generated from a filter
      • improved console logging to avoid spaces and <empty string> message
      • fixed problem with lazy loading deleting tiddler bodies under certain circumstances
      • fixed handling of ".mp4" file extension so that it defaults to video not audio
      • added test server to the plugin library edition
      • added Hidden Setting: Sync Logging to control logging of sync-related messages
      • updated Jasmine plugin to require the explicit use of the --test command in order to cause the tests to be run

      Performance Improvements

      • improved performance of wiki.getTiddler()
      • improved performance of variable prototype chain handling
      • improved performance of list handling during filter processing

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @AnthonyMuscio
      2. @bestony
      3. @BramChen
      4. @btheado
      5. @carlo-colombo
      6. @EvidentlyCube
      7. @FlashSystems
      8. @flibbles
      9. @fu-sen
      10. @hoelzro
      11. @joebordes
      12. @kookma
      13. @linonetwo
      14. @Marxsal
      15. @oflg
      16. @pmario
      17. @rmunn
      18. @roma0104
      19. @saqimtiaz
      20. @simonbaird
      21. @talha131
      22. @Telumire
      23. @tw-FRed
      24. @twMat
      25. @xcazin

      Release 5.2.5

       19 diciembre 2022 a las 18:45

      See GitHub for detailed change history of this release

      Congratulations to dmikh for their winning design for the banner for this release (here is the competition thread and the voting thread).

      This is a bug fix release intended to resolve backwards compatibility issues discovered in v5.2.4. See this GitHub ticket for the background.

      The issues are entirely cosmetic stylesheet changes, and do not affect the functionality of TiddlyWiki. However, we encourage all users to upgrade to this new version for consistency.

      Since v5.2.5 replaces v5.2.4 that was only released for a week, here is the release note for v5.2.4.

      Release Note for v5.2.4

      See GitHub for detailed change history of this release

      Congratulations to dmikh for their winning design for the banner for this release (here is the competition thread and the voting thread).

      Important Update

      After the release of v5.2.5, we found some backwards compatibility issues with the stylesheet changes in #7039 and #6910. We have therefore decided to make a rapid bug fix Release 5.2.5 to resolve these issues, and all users should upgrade to the new version.

      Major Improvements

      New Twitter Archivist plugin to import the tweets and associated media from a Twitter Archive as individual tiddlers.

      added new GenesisWidget that allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance

      added (and here) new operators for reading and formatting JSON data: jsonget Operator, jsonindexes Operator, jsontype Operator, jsonextract Operator and format Operator

      Translation Improvements

      Improvements to the following translations:

      • Chinese
      • French
      • German
      • Polish
      • Spanish
      • Japanese

      Improvements to the translation features of TiddlyWiki itself:

      Usability Improvements

      • fixed problem with long presses on tiddler links triggering a preview on iOS/iPadOS
      • improved consistency of button and input elements across browsers
      • fixed edit preview to use the View Template Body Cascade
      • fixed opening a tiddler in a new window to use the View Template Body Cascade
      • improved detection of infinite recursion errors in widgets and filters
      • extended default styles for styled runs
      • improved upgrade wizard to make the version number more prominent
      • improved parsing of tiddlers containing CSV data for greater compatibility
      • added new page control button to summon the layout switcher
      • fixed folded tiddlers to ensure that the unfold button is always visible
      • improved handling of Modals to optionally allow them to be dismissed by clicking on the background

      Widget Improvements

      Filter improvements

      • fixed issue with availability of variables within filter runs
      • fixed issue with removing multiple items from a linked list during filter processing

      Hackability Improvements

      Bug Fixes

      • fixed truncated search results on small screens
      • fixed table contents overflow on small screens
      • fixed "new image" keyboard shortcut not to assign journal tags
      • fixed SelectWidget class to update if it uses a filter
      • fixed issue with wikification within the advanced search filter dropdown
      • fixed the table in $:/Import to avoid creating hidden empty rows
      • fixed advanced search keyboard shortcut not navigating correctly
      • fixed erroneous display of drafts within the advanced search filter dropdown
      • fixed backwards compatibility of new field editor cascade introduced in v5.2.3

      Node.js Improvements

      • added new CommandsCommand to enable command tokens to be dynamically generated from a filter
      • improved console logging to avoid spaces and <empty string> message
      • fixed problem with lazy loading deleting tiddler bodies under certain circumstances
      • fixed handling of ".mp4" file extension so that it defaults to video not audio
      • added test server to the plugin library edition
      • added Hidden Setting: Sync Logging to control logging of sync-related messages
      • updated Jasmine plugin to require the explicit use of the --test command in order to cause the tests to be run

      Performance Improvements

      • improved performance of wiki.getTiddler()
      • improved performance of variable prototype chain handling
      • improved performance of list handling during filter processing

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @AnthonyMuscio
      2. @bestony
      3. @BramChen
      4. @btheado
      5. @carlo-colombo
      6. @EvidentlyCube
      7. @FlashSystems
      8. @flibbles
      9. @fu-sen
      10. @hoelzro
      11. @joebordes
      12. @kookma
      13. @linonetwo
      14. @Marxsal
      15. @oflg
      16. @pmario
      17. @rmunn
      18. @roma0104
      19. @saqimtiaz
      20. @simonbaird
      21. @talha131
      22. @Telumire
      23. @tw-FRed
      24. @twMat
      25. @xcazin

      Release 5.2.6

       20 marzo 2023 a las 18:43

      See GitHub for detailed change history of this release

      Congratulations to StS for their winning design for the banner for this release (here is the competition thread and the voting thread).

      Major Improvements

      Improved Markdown Plugin

      Better Handling of Loss of Network Connectivity with Client Server Configuration

      • added integration between the BrowserStorage Plugin and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server

      New Diff-Match-Patch Primitives

      Translation Improvements

      Improvements to the following translations:

      • Chinese
      • German
      • Italian
      • Polish

      Plugin Improvements

      Accessibility Improvements

      • improved appearance of save wiki button so that it is accessible to users without colour vision

      Usability Improvements

      • improved consistency of tiddler deletion by allowing missing tiddlers to be 'deleted', which just results in them being closed
      • improved layout switcher to include an optional icon for each layout
      • removed improvements to table layout from v5.2.5 that have proved to not be backwards compatible
      • added support for &dollar; HTML entity

      Widget Improvements

      • extended EditTextWidget to support focusSelectFromStart and focusSelectFromEnd attributes to give better control over text selection

      Filter improvements

      Hackability Improvements

      Bug Fixes

      Node.js Improvements

      • fixed duplicate fields in internal templates used in client-server configuration
      • fixed lazy loading not triggering a sync from the server
      • fixed crash on creating a new tiddler if anonymous users manage to create syncable tiddlers in a read only wiki
      • improved handling of logout in the client-server configuration to avoid 404 errors
      • fixed problem with saving tiddlers with _canonical_uri field as .tid files
      • fixed missing meta viewport to static river template

      Performance Improvements

      • improved field indexer to more efficiently process lookups

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @andrigamerita
      2. @AnthonyMuscio
      3. @BramChen
      4. @btheado
      5. @cdruan
      6. @CrossEye
      7. @cs8425
      8. @EvidentlyCube
      9. @fkmiec
      10. @flibbles
      11. @GameDungeon
      12. @hffqyd
      13. @jeffrey4l
      14. @joebordes
      15. @kookma
      16. @linonetwo
      17. @m42e
      18. @Marxsal
      19. @mateuszwilczek
      20. @michsa
      21. @newmedicine
      22. @pippep
      23. @pmario
      24. @saqimtiaz
      25. @Telumire
      26. @twMat
      27. @wincentbalin
      28. @yaisog

      Release 5.2.7

       26 marzo 2023 a las 9:32

      See GitHub for detailed change history of this release

      Congratulations to StS for their winning design for the banner for this release (here is the competition thread and the voting thread).

      This is a bug fix release intended to resolve a backwards compatibility issue discovered in v5.2.6. See this GitHub ticket for the background.

      The issue is that trailing newlines within a macro definitions were being ignored, which affected whether the content were parsed in inline or block mode.

      Since v5.2.7 replaces v5.2.6 that was only released for less than a week, here is the release note for v5.2.6.

      Release Note for v5.2.6

      See GitHub for detailed change history of this release

      Congratulations to StS for their winning design for the banner for this release (here is the competition thread and the voting thread).

      Major Improvements

      Improved Markdown Plugin

      Better Handling of Loss of Network Connectivity with Client Server Configuration

      • added integration between the BrowserStorage Plugin and the client-server configuration to allow changes to be made while offline and then later resynchronised with the server

      New Diff-Match-Patch Primitives

      Translation Improvements

      Improvements to the following translations:

      • Chinese
      • German
      • Italian
      • Polish

      Plugin Improvements

      Accessibility Improvements

      • improved appearance of save wiki button so that it is accessible to users without colour vision

      Usability Improvements

      • improved consistency of tiddler deletion by allowing missing tiddlers to be 'deleted', which just results in them being closed
      • improved layout switcher to include an optional icon for each layout
      • removed improvements to table layout from v5.2.5 that have proved to not be backwards compatible
      • added support for &dollar; HTML entity

      Widget Improvements

      • extended EditTextWidget to support focusSelectFromStart and focusSelectFromEnd attributes to give better control over text selection

      Filter improvements

      Hackability Improvements

      Bug Fixes

      Node.js Improvements

      • fixed duplicate fields in internal templates used in client-server configuration
      • fixed lazy loading not triggering a sync from the server
      • fixed crash on creating a new tiddler if anonymous users manage to create syncable tiddlers in a read only wiki
      • improved handling of logout in the client-server configuration to avoid 404 errors
      • fixed problem with saving tiddlers with _canonical_uri field as .tid files
      • fixed missing meta viewport to static river template

      Performance Improvements

      • improved field indexer to more efficiently process lookups

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @andrigamerita
      2. @AnthonyMuscio
      3. @BramChen
      4. @btheado
      5. @cdruan
      6. @CrossEye
      7. @cs8425
      8. @EvidentlyCube
      9. @fkmiec
      10. @flibbles
      11. @GameDungeon
      12. @hffqyd
      13. @jeffrey4l
      14. @joebordes
      15. @kookma
      16. @linonetwo
      17. @m42e
      18. @Marxsal
      19. @mateuszwilczek
      20. @michsa
      21. @newmedicine
      22. @pippep
      23. @pmario
      24. @saqimtiaz
      25. @Telumire
      26. @twMat
      27. @wincentbalin
      28. @yaisog

      Release 5.3.0

       1 julio 2023 a las 13:34

      See GitHub for detailed change history of this release

      Congratulations to vilc for their winning design for the banner for this release (here is the competition thread).

      Overview of v5.3.0

      This release introduces a number of significant improvements and new features related to some of TiddlyWiki's most fundamental components: macros, widgets, operators and transclusion. v5.3.0 also contains several other bug fixes and improvements.

      Introduction to Parameterised Transclusion, Procedures, Functions and Custom Widgets

      added The motivation of these changes is to fix one of TiddlyWiki 5's early design flaws: the reliance on macros using textual substitution as the primary way to modularise and reuse wikitext and filters.

      Experience has shown that while macros are a good match for a small number of tasks, they are brittle and error prone for many common operations. See Macro Pitfalls for a discussion of the problems that accompany this approach. Over the years we have introduced mitigations for the worst problems but these have come at a cost of increased complexity.

      The changes in this release provide powerful new ways to achieve common tasks, and unlock completely new capabilities that were previously impossible in wikitext.

      • Procedures, which are essentially what macros should have been; they work in exactly the same way except that parameters are exposed as simple variables (without the double underscores) and no textual substitution takes place
      • Custom Widgets, allowing the creation of widgets in wikitext, and the redefinition of built-in widgets
      • Functions, a new way to encapsulate filter expressions with named parameters, including the ability to make custom filter operators
      • Parameterised Transclusions, allowing strings and wikitext trees to be passed to transclusions

      The approach taken by this release is to add new functionality by extending and augmenting the system without disturbing existing functionality. All of these changes are thus intended to be backwards compatible. While they represent a new field of opportunities for wikitext authors, it is possible for authors to ignore all these new features and continue to use TiddlyWiki 5 in the way that they have always done.

      These changes lay the groundwork for macros and related features to be deprecated (which is the point at which users are advised not to use old features, and instead given clear pointers to the equivalent modern functionality).

      Text Substitution Improvements

      added The new transclusion architecture is not by itself sufficient to enable us to fully deprecate macros yet. To handle most of the remaining use cases this release adds convenient new ways of using textual substitution without having to create a macro:

      Firstly, the new text substitution syntax for widget attributes allows widget attributes to be assigned the value of a string with certain placeholders being replaced by their processed contents. For example:

      • Substitute variable names with the value:
        attr=`Current tiddler is $(currentTiddler)$`
      • Substitute filter expressions with the first value they return:
        attr=```There are ${ [tag[Done]count[]] }$ completed tasks```

      Secondly, the new substitute operator allows the same textual substitutions to be performed via a filter operator with the addition of positional parameters that use placeholders of the form $1$, $2$, $3$ etc.

      [[https://$1$/$(currentTiddler)$]substitute<domain-name>]

      HTTP Requests in WikiText

      added new WidgetMessage: tm-http-request for performing HTTP requests in WikiText. This opens up some exciting new opportunities:

      • Integration with Web-based APIs. The documentation includes an example of using the Zotero API to retrieve academic citation data
      • Dynamic content loading: additional tiddlers can be imported dynamically after the main wiki has loaded

      Defaulting to Disabling CamelCase Links

      updated CamelCase linking is now disabled by default for new wikis. (Note that this documentation wiki has CamelCase linking explicitly enabled because much of the old content was written relying on them).

      Plugin Improvements

      • updated Google Analytics plugin to use new GA4 code. Note that the update requires manual configuration to use the new "measurement ID" instead of the old "account ID"
      • extended Dynannotate pugin to support three additional search modes
      • fixed problem with BrowserStorage Plugin unnecessarily saving shadow tiddlers
      • improved BrowserStorage Plugin to request that browser storage be persisted without eviction
      • improved CodeMirror Plugin to add an option to make trailing spaces visible

      Translation improvement

      Improvements to the following translations:

      • French
      • German
      • Polish
      • Chinese

      Usability Improvements

      Filter improvements

      Hackability Improvements

      Bug Fixes

      • fixed importing tiddlers by pasting tiddler data
      • fixed unneeded 14px bottom border for textareas with autoheight enabled
      • fixed crashes when using an invalid CSS selector for WidgetMessage: tm-focus-selector and WidgetMessage: tm-scroll
      • fixed bug whereby scrolling occurs if the linkcatcher widget triggers an action-navigate and the $scroll attribute is set to "no"
      • fixed problem switching between LTR and RTL text
      • fixed bug when the listField attribute of the CheckboxWidget was given the name of a date field (like created or modified)
      • fixed size of buttons in dropdown for editor "link" toolbar button
      • fixed crash when transcluding a lazily loaded tiddler as an attribute value
      • fixed DiffTextWidget crash with missing or empty attributes

      Node.js Improvements

      Performance Improvements

      • fixed module execution to reuse the same sandbox, saving memory and improving performance

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @AnthonyMuscio
      2. @Arlen22
      3. @BramChen
      4. @btheado
      5. @buggyj
      6. @carlo-colombo
      7. @cdruan
      8. @donmor
      9. @EvidentlyCube
      10. @flibbles
      11. @GameDungeon
      12. @JoshuaFontany
      13. @kookma
      14. @linonetwo
      15. @Marxsal
      16. @mateuszwilczek
      17. @michsa
      18. @muzimuzhi
      19. @oeyoews
      20. @pmario
      21. @rmunn
      22. @saqimtiaz
      23. @tavin
      24. @twMat
      25. @xcazin
      26. @yaisog
      27. @Zacharia2

      Release 5.3.1

       20 agosto 2023 a las 12:28

      See GitHub for detailed change history of this release

      Congratulations to vilc for their winning design for the banner for this release (here is the competition thread).

      Overview of v5.3.1

      This release comes only a few weeks after v5.3.0. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP – the demo downloads a random image or video of a dog.

      Bug Fixes and Reversions of v5.3.0 Changes

      • Reverted adding the widget.destroy() method because of performance concerns (see https://github.com/Jermolene/TiddlyWiki5/pull/7468)
      • fixed inefficiency when transcluding with the $output attribute set to text/plain that manifested itself as extremely slow export times
      • fixed unwanted error message "Global assignment is not allowed within modules on node"

      Translation improvement

      Improvements to the following translations:

      • Chinese
      • Polish

      Widget Improvements

      Hackability Improvements

      Bug Fixes

      • fixed table of contents indentation
      • fixed bindStatus and bindProgress parameters of WidgetMessage: tm-http-request
      • fixed attribute substitution to handle variables containing non-word characters
      • fixed the pragmas introduced in v5.3.0 so that they can be indented with whitespace
      • fixed size of tiddler icons
      • fixed drag and drop from Chrome-like browsers to Firefox
      • fixed listIndex mode of checkbox widgets

      Node.js Improvements

      • improved console reporting of JavaScript errors

      Developer Improvements

      • fixed overeager onload handler in Jasmine plugin
      • fixed ordering of shadow tiddler listings to not reflect order of insertion

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @AnthonyMuscio
      2. @btheado
      3. @catter-fly
      4. @cmo-pomerium
      5. @CrossEye
      6. @flibbles
      7. @hffqyd
      8. @lilscribby
      9. @linonetwo
      10. @Marxsal
      11. @mateuszwilczek
      12. @pille1842
      13. @pmario
      14. @rmunn
      15. @saqimtiaz
      16. @stevesunypoly
      17. @TiddlyTweeter
      18. @twMat
      19. @yaisog

      Releases

       2 agosto 2022 a las 11:02

      New releases of TiddlyWiki and TiddlyDesktop are announced via the official discussion groups and Twitter

      Here are the details of recent releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

      If you are using node.js, you can also install prior versions like this:

      npm install -g tiddlywiki@5.1.13

      (BetaReleases and AlphaReleases are listed separately).

      Release 5.3.1

      Released 20 agosto 2023 at 12:28

      See GitHub for detailed change history of this release

      Congratulations to vilc for their winning design for the banner for this release (here is the competition thread).

      Overview of v5.3.1

      This release comes only a few weeks after v5.3.0. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP – the demo downloads a random image or video of a dog.

      Bug Fixes and Reversions of v5.3.0 Changes

      • Reverted adding the widget.destroy() method because of performance concerns (see https://github.com/Jermolene/TiddlyWiki5/pull/7468)
      • fixed inefficiency when transcluding with the $output attribute set to text/plain that manifested itself as extremely slow export times
      • fixed unwanted error message "Global assignment is not allowed within modules on node"

      Translation improvement

      Improvements to the following translations:

      • Chinese
      • Polish

      Widget Improvements

      Hackability Improvements

      Bug Fixes

      • fixed table of contents indentation
      • fixed bindStatus and bindProgress parameters of WidgetMessage: tm-http-request
      • fixed attribute substitution to handle variables containing non-word characters
      • fixed the pragmas introduced in v5.3.0 so that they can be indented with whitespace
      • fixed size of tiddler icons
      • fixed drag and drop from Chrome-like browsers to Firefox
      • fixed listIndex mode of checkbox widgets

      Node.js Improvements

      • improved console reporting of JavaScript errors

      Developer Improvements

      • fixed overeager onload handler in Jasmine plugin
      • fixed ordering of shadow tiddler listings to not reflect order of insertion

      Acknowledgements

      @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

      1. @AnthonyMuscio
      2. @btheado
      3. @catter-fly
      4. @cmo-pomerium
      5. @CrossEye
      6. @flibbles
      7. @hffqyd
      8. @lilscribby
      9. @linonetwo
      10. @Marxsal
      11. @mateuszwilczek
      12. @pille1842
      13. @pmario
      14. @rmunn
      15. @saqimtiaz
      16. @stevesunypoly
      17. @TiddlyTweeter
      18. @twMat
      19. @yaisog

      ReleaseTemplate

       19 noviembre 2021 a las 23:11

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      ReleaseTemplate

      Released TBA

      Error de transclusión recursiva en el widget de transclusión

      Released Error de transclusión recursiva en el widget de transclusión

      Error de transclusión recursiva en el widget de transclusión

      Error de transclusión recursiva en el widget de transclusión

      Error de transclusión recursiva en el widget de transclusión

      Error de transclusión recursiva en el widget de transclusión

      Error de transclusión recursiva en el widget de transclusión

      remainder Operator

       11 junio 2019 a las 14:01
      purposetreating each input title as a number, return the remainder when divided by the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, but with each replaced by the remainder when dividing it by N

      Learn more about how to use Filters

      remainder Operator (Examples)

       11 junio 2019 a las 14:01

      [[23]remainder[3]]

      =1 =2 =3 =4 +[remainder[2]]

      remove Operator

       25 enero 2017 a las 20:00
      purposeremove a list of titles specified in the operand from the input
      inputa list of items
      suffixan integer N, defaulting to all
      parameterarray = an array of items to remove
      outputitems removed from current list that appear at the head of the operand array
      ! outputitems removed from current list that appear at the tail of the operand array

      Learn more about how to use Filters

      remove Operator (Examples)

       8 noviembre 2015 a las 5:20

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] +[remove[Tuesday Wednesday Thursday]]

      [list[Days of the Week]] +[remove:3[Monday Wednesday Friday Saturday]]

      [list[Days of the Week]] +[!remove:2{Days of the Week!!list}]

      removeprefix Operator

       18 febrero 2022 a las 2:34
      purposefilter the input titles by how they start, deleting that prefix
      inputa selection of titles
      suffixthe removeprefix operator uses a rich suffix, see below for details
      parameterS = a string of characters
      outputthose input titles that start with S, but with those characters discarded

      Learn more about how to use Filters

      This filters out input titles that do not start with S. For removing S without filtering out input titles that don't start with S, see trim.

      New in: 5.2.2

      The removeprefix operator uses an extended syntax that permits multiple flags to be passed:

      [removeprefix:<flag list>[<operand>]]
      • flag list: a comma delimited list of flags
      • operand: filter operand

      The available flags are:

      • casesensitive: (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different
      • caseinsensitive: overrides the default so that upper and lower case letters are considered identical for matching purposes

      Examples

      removeprefix Operator (Examples)

       18 febrero 2022 a las 2:34

      [[My Cat]] [[Your Garden]] [[My Favourite Armchair]] +[removeprefix[My ]]

      [[My Cat]] [[Your Garden]] [[My Favourite Armchair]] +[removeprefix:caseinsensitive[my ]]

      removesuffix Operator

       18 febrero 2022 a las 2:34
      purposefilter the input titles by how they end, deleting that suffix
      inputa selection of titles
      suffixthe removesuffix operator uses a rich suffix, see below for details
      parameterS = a string of characters
      outputthose input titles that end with S, but with those characters discarded

      Learn more about how to use Filters

      This filters out input titles that do not end with S. For removing S without filtering out input titles that don't end with S, see trim.

      New in: 5.2.2

      The removesuffix operator uses an extended syntax that permits multiple flags to be passed:

      [removesuffix:<flag list>[<operand>]]
      • flag list: a comma delimited list of flags
      • operand: filter operand

      The available flags are:

      • casesensitive: (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different
      • caseinsensitive: overrides the default so that upper and lower case letters are considered identical for matching purposes

      Examples

      removesuffix Operator (Examples)

       18 febrero 2022 a las 2:34

      SIMPLEX Googolplex Complex +[removesuffix[plex]]

      SIMPLEX Googolplex Complex +[removesuffix:caseinsensitive[plex]]

      RenderCommand

       19 septiembre 2017 a las 14:18

      Renderiza tiddlers individuales identificados por un filtro y guarda los resultados en los archivos especificados.

      Opcionalmente, se puede especificar el título de un tiddler de plantilla. En este caso, en lugar de representar directamente cada tiddler, la plantilla tiddler se procesa con la variable "currentTiddler" establecida en el título del tiddler que se está procesando.

      También se puede especificar un nombre y valor para variables adicionales.

      --render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [ [<name>] [<value>] ]*
      • tiddler-filter: Un filtro que identifica los tiddlers que se procesarán
      • filename-filter: Filtro opcional que transforma los títulos de tiddler en nombres de ruta. Si se omite, el valor predeterminado es [is[tiddler]addsuffix[.html]], que utiliza el título del tiddler sin cambios como nombre de archivo
      • render-type: Tipo de renderizado opcional: text/html (el predeterminado) devuelve el texto HTML completo y text/plain simplemente devuelve el contenido del texto (es decir, ignora las etiquetas HTML y otros elementos no imprimibles)
      • template: Plantilla opcional a través de la cual se representa cada tiddler
      • name: Nombre de variables opcionales
      • value: Valor de variables opcionales

      De forma predeterminada, el nombre del archivo se resuelve relativo al subdirectorio output del directorio de edición. El comando --output se puede usar para dirigir la salida a otro directorio diferente.

      Notas:

      • No se elimina ningún contenido del directorio de salida
      • Los directorios que faltan en la ruta al nombre del archivo se crean automáticamente.
      • Cuando se refiera a un tiddler con espacios en su título, ten cuidado de usar las comillas requeridas por la línea de comandos y también los corchetes dobles de TiddlyWiki: --render "[[Motovun Jack.jpg]]"
      • El filtro de nombre de archivo se evalúa con los elementos seleccionados que se establecen en el título del tiddler que se está procesando actualmente, lo que permite que el título se utilice como base para calcular el nombre de archivo. Por ejemplo, [encodeuricomponent[]addprefix[static/]] aplica codificación URI a cada título y luego añade el prefijo static/
      • Se pueden usar múltiples pares nombre/valor para pasar más de una variable
      • El comando --render es un reemplazo más flexible para los comandos --rendertiddler y --rendertiddlers, que están en desuso

      Ejemplos:

      • --render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]' – renders all non-system tiddlers as files in the subdirectory "tiddlers" with URL-encoded titles and the extension HTML
      • --render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]' – renders the tiddlers tagged "HelloThere" to a JSON file named "tiddlers.json"

      RenderTiddlerCommand

       

      Deprecated since: 5.1.15 (see RenderCommand).

      (Nota: el comando --rendertiddler está obsoleto en favor del nuevo y más flexible comando --render)

      Genera un tiddler del ContentType que se especifique (por defecto text/html) y lo guarda con el nombre de archivo especificado

      Opcionalmente, se puede especificar el título de un tiddler de plantilla, en cuyo caso el tiddler de plantilla se representa con la variable "currentTiddler" establecida en el tiddler que se está procesando (el primer valor de parámetro).

      También se puede especificar un nombre y valor para variables adicionales.

      --rendertiddler <title> <filename> [<type>] [<template>] [<name>] [<value>]

      Por defecto, el nombre de archivo es relativo al subdirectorio output en el directorio del wiki. Puede usarse el comando --output para dirigir la salida a cualquier otro directorio

      Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.

      Por ejemplo, el siguiente comando guarda todos los tiddlers que coinciden con el filtro [tag[done]] en un archivo JSON titulado output.json aplicando la plantilla principal $:/core/templates/exporters/JsonFile.

      --rendertiddler "$:/core/templates/exporters/JsonFile" output.json text/plain "" exportFilter "[tag[done]]"

      RenderTiddlersCommand

       

      Deprecated since: 5.1.15 (see RenderCommand).

      (Nota: el comando --rendertiddlers está obsoleto en favor del nuevo y más flexible comando --render)

      Genera un conjunto de tiddlers de un determinado ContentType (por defecto text/html) y extensión de archivo (por defecto, .html), coincidentes con el argumento de un filtro

      --rendertiddlers '<filter>' <template> <pathname> [<type>] [<extension>] ["noclean"]

      Por ejemplo:

      --rendertiddlers '[!is[system]]' $:/core/templates/static.tiddler.html ./static text/plain

      Por defecto, la ruta es relativa al subdirectorio output del directorio del wiki. Puede usarse con el comando --output para dirigir la salida a un directorio diferente

      Cualquier archivo existente en el directorio de destino será borrado a no ser que se especifique el comando noclean. Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.

      replace Operator

       8 noviembre 2015 a las 5:21
      purposereplace marker with N trailing items
      inputa list of items
      suffixan integer N, defaulting to 1
      parametermarker = the item to be used as a marker
      outputre-ordered list of items

      Learn more about how to use Filters

      replace Operator (Examples)

       8 noviembre 2015 a las 5:21

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]] Last +[replace[Wednesday]]

      [list[Days of the Week]] Last +[replace:2[Tuesday]]

      [list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[replace:3[Tuesday]]

      ReportingBugs

       10 septiembre 2014 a las 22:25

      You can report bugs or problems with TiddlyWiki via our discussion groups. If you have a GitHub account then you can raise an issue there:

      https://github.com/Jermolene/TiddlyWiki5/issues/new

      Unless you are already familiar with GitHub, it's usually easiest to report problems through the discussion groups.

      TiddlyWiki on GitHub

      We use GitHub Issues to manage bug reports and feature requests for TiddlyWiki. To maintain their effectiveness we endeavour to have as few open issues as possible.

      Policies for Managing Issues

      Open issues should be actionable: generally either a reproducible bug report, or a specific feature request. From the perspective of the core developers, the issues list behaves like a shared todo list. Every item on the list requires a little bit of attention each time we check the list.

      GitHub Issues are not very good for managing ideas that are not immediately actionable. Better to use the TiddlyWiki discussion groups for open ended questions, or speculative discussions of new features.

      Creating Issues

      Before creating a GitHub issue it is good etiquette to search through the existing issues to see whether the problem has already been reported. If a search isn't practical, don't worry too much; GitHub makes it easy to merge existing issues.

      When you do create an issue, remember that for effective debugging, we need as much information as possible. At a minimum, please try to include:

      • A descriptive title
      • A summary
      • Steps to reproduce
      • Expected behaviour
      • Context (OS, browser etc.)

      Consider also adding screenshots if it makes things clearer.

      There's a lot of good material on the web about bug reports:

      resolvepath Macro

       21 febrero 2015 a las 22:38

      The resolvepath macro takes a relative path and an absolute path. It interprets the former relative to the latter, and returns the absolute equivalent of the former.

      Folders in the paths are delimited by /.

      The special folder name . denotes the current folder, and .. denotes the parent folder.

      If the absolute path indicates a folder, it needs to end with /. Anything after the final / is treated as an arbitrary filename within the intended path, and is discarded.

      If no absolute path is supplied, the relative path is returned unchanged, except that anything after the final / is discarded.

      The return value is a path, but does not end with /.

      Parameters

      source
      the relative path
      root
      the absolute path

      Examples

      resolvepath Macro (Examples)

       21 febrero 2015 a las 18:34

      <<resolvepath "./backup" "http://example.com/store.php">>
      <<resolvepath "backup" "http://example.com/store.php">>
      <<resolvepath "../backup" "http://example.com/store.php">>
      <<resolvepath "../jpg/Motovun_Jack.jpg" "http://example.com/resources/images/png/">>
      <<resolvepath "../jpg/../png/Motovun_Jack.png">>
      <<resolvepath "jpg/Motovun_Jack.jpg">>

      Recursos

       13 abril 2016 a las 17:16

      Páginas con recursos creados por la comunidad para ayudarte a sacarle todo el jugo a TiddlyWiki: Plugins, macros, utilidades y mucho más.

      Envía más recursos que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo

      rest Operator

       3 febrero 2015 a las 19:08
      purposediscard the first N input titles
      inputa selection of titles
      parameterN = an integer, defaulting to 1
      outputall but the first N input titles

      Learn more about how to use Filters

      butfirst and bf are synonyms for rest.

      Examples

      rest Operator (Examples)

       26 febrero 2022 a las 4:33

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]rest[]]

      [list[Days of the Week]rest[0]]

      [list[Days of the Week]rest[3]]

      Z Y X W V U T S R Q P O +[rest[5]]

      Editor de currículum

       5 junio 2016 a las 5:06

      El Editor de currículum es una edición especial de ~Tiddlywiki concebida para la creación de manera sencilla de un currículum profesional que se puede imprimir o guardar en la web.

      https://tiddlywiki.com/editions/resumebuilder/

      (En inglés. Está en preparación la edición en castellano)

      RevealWidget

       21 noviembre 2020 a las 10:09

      Introduction

      The reveal widget hides or shows its content depending upon the value of a state tiddler. The type of the widget determines the condition for the content being displayed:

      • type=match: the content is displayed if the state tiddler matches the text attribute value
      • type=nomatch: the content is displayed if the state tiddler doesn't match the text attribute value
      • type=popup: the content is displayed as a popup as described in the PopupMechanism
      • type=lt: the content is displayed if the state tiddler contains an integer with a value less than the text attribute value
      • type=gt: the content is displayed if the state tiddler contains an integer with a value greater than the text attribute value
      • type=lteq: the content is displayed if the state tiddler contains an integer with a value less than or equal to the text attribute value
      • type=gteq: the content is displayed if the state tiddler contains an integer with a value greater than or equal to the text attribute value

      Content and Attributes

      The content of the <$reveal> widget is displayed according to the rules given above.

      AttributeDescription
      stateA TextReference containing the state
      stateTitleA title containing the state, without TextReference. Gets preferred over the state attribute
      stateFieldA field name which is used to look for the state, if the attribute stateTitle is present
      stateIndexAn index which is used to look for the state, if the attribute stateTitle is present
      tagOverrides the default HTML element tag (<div> in block mode or <span> in inline mode)
      typeThe type of matching performed: match, nomatch, popup, lt, gt, lteq or gteq
      textThe text to match when the type is match, nomatch, lt, gt, lteq or gteq
      classAn optional CSS class name to be assigned to the HTML element
      » Set to tc-popup-keep to make a popup "sticky", so it won't close when you click inside of it
      styleAn optional CSS style attribute to be assigned to the HTML element
      positionThe position used for the popup when the type is popup. Can be left, above, aboveleft, aboveright, right, belowleft, belowright or below
      positionAllowNegativeSet to "yes" to prevent computed popup positions from being clamped to be above zero
      defaultDefault value to use when the state tiddler is missing
      animateSet to "yes" to animate opening and closure (defaults to "no"; requires "retain" to be set to "yes")
      retainSet to "yes" to force the content to be retained even when hidden (defaults to "no")
      updatePopupPosition New in: 5.1.23Set to "yes" to update the popup position when the state tiddler is updated (defaults to "no")

      New in: 5.1.18 stateTitle, stateField and stateIndex attributes allow specifying Tiddler states directly, without interpreting them as TextReferences. This is useful for edge-cases where titles may contain characters that are used to denote Tiddler fields or indices (!!, ##)

      Retaining the content when hidden can give poor performance since the hidden content requires refresh processing even though it is not displayed. On the other hand, the content can be revealed much more quickly. Note that setting animate="yes" will also require retain="yes"

      Examples

      Simple content reveal

      Here's a simple example of showing and hiding content with buttons:

      <$button set="$:/state/SampleReveal1" setTo="show">Show me</$button>
      <$button set="$:/state/SampleReveal1" setTo="hide">Hide me</$button>
      
      <$reveal type="match" state="$:/state/SampleReveal1" text="show">
      
      ! This is the revealed content
      And this is some text
      
      </$reveal>

      Este es su aspecto:

      Accordion or Slider

      An "accordion" or "slider" is a button that can be used to toggle the display of associated content.

      <$reveal type="nomatch" state="$:/state/SampleReveal2" text="show">
      
      <$button set="$:/state/SampleReveal2" setTo="show">Show me</$button>
      
      </$reveal>
      <$reveal type="match" state="$:/state/SampleReveal2" text="show">
      
      <$button set="$:/state/SampleReveal2" setTo="hide">Hide me</$button>
      
      ! This is the revealed content
      And this is some text
      
      </$reveal>

      Este es su aspecto:

      Popup

      Here is a simple example of a popup built with the RevealWidget:

      <$button popup="$:/SamplePopupState">Pop me up!</$button>
      
      <$reveal type="popup" state="$:/SamplePopupState">
      <div class="tc-drop-down">
      
      ! This is the popup
      And this is some text
      
      </div>
      </$reveal>

      Este es su aspecto:

      How to use text references with field content

      Here is a simple example how to use text references with field content to control the RevealWidget. If the field jeremy is populated with text tiddlywiki, a message will be displayed.

      <$reveal type="match" state="!!jeremy" text="tiddlywiki">
      ~TiddlyWiki!
      </$reveal>

      Este es su aspecto:

      TiddlyWiki!

      reverse Operator

       3 febrero 2015 a las 19:08
      purposereverse the order of the input titles
      inputa selection of titles
      parameternone
      outputthe input, in reverse order

      Learn more about how to use Filters

      reverse Operator (Examples)

       23 enero 2015 a las 21:27

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]reverse[]]

      Rice Pudding

       6 octubre 2020 a las 19:12

      This is a sample shopping list item for the Shopping List Example

      RoadMap

       16 mayo 2020 a las 20:42

      TiddlyWiki 5 is now a mature, stable project that is relied upon by many people. Simultaneously, it is rapidly evolving in many directions thanks to the broad community of developers and users. This paradoxical situation is possible because the project strictly maintains backwards compatibility, adding new features alongside the existing ones.

      There is no formal roadmap, but quite a few areas that have yet to be fully implemented, such as search and replace, and rich text editing. Current work can be found on GitHub at https://github.com/Jermolene/TiddlyWiki5/

      round Operator

       13 junio 2019 a las 9:46
      purposerounds a list of numbers to the nearest integer
      inputa selection of titles
      outputrounds each of the input numbers to the nearest integer

      Learn more about how to use Filters

      round Operator (Examples)

       13 junio 2019 a las 9:46

      [[1.6]round[]]

      [[-1.6]round[]]

      =-1.2 =-2.4 =3.6 =4.8 =5.1 +[round[]]

      TiddlyWiki en modo de recuperación

       3 mayo 2016 a las 17:23

      Introducción

      El modo seguro desactiva la mayoría de customizaciones en TiddlyWiki en caso de que, a fuerza de adaptaciones sucesivas, dejen de funcionar correctamente. Un caso frecuente es el de la actualización del núcleo, que muchas veces "rompe" las customizaciones del usuario, especialmente en versiones Beta.

      Cómo activar el modo seguro

      Modo seguro se activa al arrancar TiddlyWiki con el hash #:safe.

      https://tiddlywiki.com/#:safe

      Cómo trabaja el modo seguro

      Activar modo seguro produce los siguientes cambios en el funcionamiento de TiddlyWiki:

      • Todos los plugins se desactivan temporalmente.
      • Todos aquellos tiddlers que "puentean" tiddlers ocultos reciben el prefijo SAFE:, lo que restaura los originales
      • Algunas opciones de configuración se ignoran y usan los valores por defecto.

      Se muestra un informe de los tiddlers modificados por el usuario, de modo que pueden inspeccionarse en busca de fallos.

      sameday Operator

       3 febrero 2015 a las 19:09
      purposefilter the input by date
      inputa selection of titles
      suffixF = the name of a date field, defaulting to modified
      parameterD = a date, in the format YYYYMMDD
      outputthose input tiddlers in which field F has the value D, ignoring time

      Learn more about how to use Filters

      If D is not a valid date, the output is empty.

      D may include a time of day, but this is ignored.

      Examples

      sameday Operator (Examples)

       24 enero 2015 a las 10:17

      [sameday[20140410]]
      → tiddlers modified on 10 April 2014

      [sameday:created[20140410]]
      → tiddlers created on 10 April 2014

      Sample Headings 1,2,3

       17 noviembre 2021 a las 2:46

      This is a Level 1 Heading

      This is a paragraph.

      This is written as a Level 3 heading

      This is written as a Level 4 heading

      This is written as a Level 5 heading

      This is a Level 2 heading

      This is written as a Level 4 heading

      This is written as a Level 5 heading

      This is written as a Level 6 heading

      Sample Headings 3,4,5

       17 noviembre 2021 a las 2:46

      This is written as a Level 3 heading

      This is written as a Level 4 heading

      This is written as a Level 5 heading

      Sample Headings 4,5,6

       17 noviembre 2021 a las 2:46

      This is written as a Level 4 heading

      This is written as a Level 5 heading
      This is written as a Level 6 heading

      Sample Tiddler Template

       18 mayo 2023 a las 13:53

      My name is Jeremy and my age is 21.

      Alerta de ejemplo

       29 abril 2016 a las 6:40

      Esta es una alerta de demostración.

      Pinchando en el icono del cubo de basura se borra el tiddler que la contiene. Otra forma de librarse de ella es editar el tiddler Alerta de demostración y quitarle la etiqueta.

      MuestraModal

       15 abril 2016 a las 16:16

      ¡Hola, !

      Este es un ejemplo de modal que contiene el siguiente mensaje:

      Notificación de ejemplo

       29 abril 2016 a las 6:40

      ¡Esto es una notificación!

      SampleTabFour

       21 febrero 2015 a las 21:16

      This is the fourth of our sample tabs.

      SampleTabOne

       

      This is the first of our sample tabs.

      SampleTabThree

       

      This is the third of our sample tabs.

      SampleTabTwo

       

      This is the second of our sample tabs.

      sampletag1

       17 noviembre 2021 a las 21:46

      This is sampletag1.

      sampletag2

       17 noviembre 2021 a las 21:47

      This is sampletag2.

      SampleTemplate

       6 mayo 2023 a las 18:05

      thisTiddler: SampleTemplate

      currentTiddler: SampleTemplate

      SampleTiddlerFirst

       17 noviembre 2021 a las :36

      This is a test tiddler called SampleTiddlerFirst.

      SampleTiddlerSecond

       17 noviembre 2021 a las :37

      This test tiddler is called SampleTiddlerSecond.

      SampleTiddlerThird

       17 noviembre 2021 a las :37

      This tiddler SampleTiddlerThird is the third test tiddler.

      SampleWindowTemplate

       27 febrero 2022 a las 21:13
      Name:
      Rank:

      Variable 'something' contains:

      SampleWizard

       16 abril 2016 a las 13:04

      Este es un asistente de diálogo modal, guardado en el tiddler SampleWizard

      Puedes .

      SampleWizard2

       16 abril 2016 a las 13:05

      Este es otro diálogo de asistente modal, guardado en el tiddler SampleWizard2.

      Puedes

      Saturday

       16 noviembre 2021 a las 22:11

      This example tiddler is used to illustrate some of the Filter Operators.

      SaveCommand

       19 septiembre 2017 a las 14:18

      Guarda tiddlers individuales identificados por un filtro en su texto sin formato o formato binario en los archivos especificados.

      --save <tiddler-filter> <filename-filter>
      • tiddler-filter: Un filtro que identifica a los tiddler que se guardarán.
      • filename-filter: Filtro opcional que transforma los títulos de tiddler en nombres de ruta. Si se omite, el valor predeterminado es "[is[tiddler]]", que utiliza el título del tiddler sin cambios como nombre de archivo

      De forma predeterminada, el nombre del archivo se resuelve relativo al subdirectorio output del directorio de edición. El comando --output se puede usar para dirigir la salida a otro directorio diferente.

      Notas:

      • No se elimina ningún contenido del directorio de salida
      • Los directorios que faltan en la ruta al nombre del archivo se crean automáticamente.
      • Cuando se refiera a un tiddler con espacios en su título, ten cuidado de usar las comillas requeridas por la línea de comandos y también los corchetes dobles de TiddlyWiki: --save "[[Motovun Jack.jpg]]"
      • El filtro de nombre de archivo se evalúa con los elementos seleccionados que se establecen en el título del tiddler que se está procesando actualmente, lo que permite que el título se utilice como base para calcular el nombre de archivo. Por ejemplo, [encodeuricomponent[]addprefix[static/]] aplica codificación URI a cada título y luego añade el prefijo static/
      • El comando --save es un reemplazo más flexible para los comandos --savetiddler y --savetiddlers, que están en desuso

      Ejemplos:

      • --save "[!is[system]is[image]]" "[encodeuricomponent[]addprefix[tiddlers/]]" – guarda todos los tiddlers de imágenes que no son del sistema como archivos en el subdirectorio "tiddlers" con títulos codificados en URL

      SaveTiddlerCommand

       18 diciembre 2013 a las 12:16

      Deprecated since: 5.1.15 (see SaveCommand).

      (Nota: el comando --savetiddler está obsoleto en favor del nuevo y más flexible comando --save)

      Guarda un tiddler individual en formato binario o como texto plano con el nombre de archivo especificado.

      --savetiddler <title> <filename>

      Por defecto, la ruta es relativa al subdirectorio output del directorio del wiki. Puede usarse con el comando --output para dirigir la salida a un directorio diferente

      Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.

      SaveTiddlersCommand

       9 junio 2014 a las 13:16

      Deprecated since: 5.1.15 (see SaveCommand).

      (Nota: el comando --savetiddlers está obsoleto en favor del nuevo y más flexible comando --save)

      Guarda un grupo de tiddlers en formato binario o como texto plano en el directorio especificado.

      --savetiddlers <filter> <pathname> ["noclean"]

      Por defecto, la ruta es relativa al subdirectorio output del directorio del wiki. Puede usarse con el comando --output para dirigir la salida a un directorio diferente

      El directorio de salida se borra de los archivos existentes antes de guardar los archivos especificados. La eliminación se puede desactivar especificando el indicador "noclean".

      Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.

      SaveTrail Plugin

       28 marzo 2017 a las 18:39

      This plugin causes TiddlyWiki to continuously download (as a JSON file) the contents of any tiddler that is manually changed by any of several means:

      • Confirming an edit
      • Deleting tiddlers
      • Imports
      • Renames/relinks
      • Optionally, typing in draft tiddlers can trigger a download

      Where appropriate, separate 'before' and 'after' files are downloaded. Configured correctly, the browser will download the files silently in the background, and they can be used as a backup in case of accidental data loss.

      SaveWikiFolderCommand

       14 abril 2019 a las 12:01

      New in: 5.1.20 Guarda el wiki actual como una carpeta de wiki, incluidos tiddlers, complementos y configuración:

      --savewikifolder <wikifolderpath> [<filter>] [ [<name>=<value>] ]*
      • La carpeta wiki de destino debe estar vacía o no existir
      • El filtro especifica qué tiddlers deben incluirse. Es opcional, por defecto es [all[tiddlers]]
      • Los complementos de la biblioteca oficial de complementos se reemplazan con referencias a esos complementos en el archivo tiddlywiki.info
      • Los complementos personalizados se descomprimen en su propia carpeta

      Se admiten las siguientes opciones:

      • filter: una expresión de filtro que define los tiddlers que se incluirán en la salida.
      • explodePlugins: por defecto "yes".
        • yes desplegará los plugins en archivos tiddler separados y los guardará en el directorio de plugins dentro de la carpeta wiki
        • no no realizará el despliegue del plugin en sus archivos tiddler constituyentes si no que guardará el plugin como un único tiddler JSON en la carpeta tiddlers.

      Ten en cuenta que ambas opciones explodePlugins producirán carpetas wiki que construirán exactamente el mismo wiki original. La diferencia radica en cómo se representan los plugins en la carpeta wiki.

      Un uso común es convertir un archivo HTML de TiddlyWiki en una carpeta wiki:

      tiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder

      Guarda el plugin en el directorio tiddlers de la carpeta wiki de destino:

      tiddlywiki --load ./mywiki.html --savewikifolder ./mywikifolder explodePlugins=no

      Guardar en TiddlyWiki

       22 abril 2016 a las 21:54

      Guardar en un servidor php

       22 abril 2016 a las 21:05

      El módulo incorporado de guardado en TiddlySpot también puede usarse para guardar cambios en un sencillo script de PHP que puede ejecutarse en la mayoría de proveedores.

      Estas son instrucciones preliminares que aún necesitan verificación

      1. Descarga una copia de store.php de aquí
      2. Edita tu copia de store.php para incluir tu nombre de usuario y contraseña. Busca la línea $USERS = array( 'UserName1'=>'Password1'...etc y sustituye Username1 y Password1 por los tuyos, respectivamente
        • Asegúrate de dejar intactos el código y su puntuación.
      3. Guarda los cambios
      4. Mediante FTP o web, sube el archivo store.phpal servidor. Asegúrate de que el nombre de archivo es correcto
        • Si el archivo ha subido correctamente, lo verás en el navegador.
      5. En TiddlyWiki, ve a la pestaña Guardando del Panel de control e introduce la siguiente información:
        • Tu nombre de usuario como nombre de wiki
        • Tu contraseña
        • La URL del archivo store.php, La URL del archivo store.php, no la del wiki

      La pestaña Guardando del panel de control incluye las siguientes opciones de configuración:

      NombreDescripción
      Dirección (URL) del servidorURL completa del archivo store.php en el servidor
      Nombre de archivoNombre de archivo usado para guardar el TiddlyWiki (por defecto index.html
      Directorio de almacenamientoRuta relativa al archivo store.php del directorio usado para guardar el wiki
      Directorio de copias de seguridadRuta relativa al archivo store.php del directorio donde se guarda la copia de seguridad del wiki.

      Guardar en Android

       3 junio 2016 a las 16:02

      La aplicación para dispositivos Android AndTidWiki permite editar y guardar cambios en TiddlyWiki5, incluso al trabajar offline, sin conexión de red.

      Descárgala de aquí.

      Nota: AndTidWiki es un proyecto independiente de TiddlyWiki

      Saving on Browser with File System Access API

       6 febrero 2022 a las 3:57

      Tiddlywiki can save changes to the filesystem without downloading a new file each time each time using the File System Access API.

      This API is not yet fully standardized hence this method of saving is somewhat experimental.

      The API used by this saver works in most Chromium based browsers. See caniuse for up to date information on browser support.

      Saving on Browser with TiddlyStow

       3 abril 2023 a las 19:30

      Link: https://github.com/btheado/tiddlystow

      Tiddlystow saves TiddlyWiki files locally using the browser file system API (Chrome-based browsers currently). This is a simple web page for loading a local TiddlyWiki file and storing it back to the same local file requiring no plugins or extensions.

      Guardar en Internet Explorer

       22 abril 2016 a las 21:11

      Por defecto, TiddlyWiki guarda los cambios en InternetExplorer 10 y superiores usando un módulo de guardado que descarga el archivo modificado en vez de guardarlo directamente. Hay dos alternativas para guardar los cambios directamente en el archivo:

      Guardar en iPad/iPhone

       5 junio 2016 a las 19:32

      La aplicación para iPad e iPhone TWEdit permite editar y guardar cambios en TiddlyWiki5, incluso cuando se trabaja offline, sin conexión de red. Descárgala aquí.

      Instrucciones de uso:

      1. Abre TWEdit
      2. Toca el título en el centro de la barra de herramientas en uso
        • Aparecerá un cuadro de texto en el que puedes indicar una URL
      3. Escribe la URL https://tiddlywiki.com/languages/es-ES/empty.html
      4. Cuando se cargue el TiddlyWiki vacío, toca el icono Guardar (el segundo icono por la derecha, en la barra superior)
        • Aparecerá un cuadro de alerta en el que debes indicar un nombre para el archivo local.
        • Escribe el nombre que quieras usar para tu documento (siempre con la extensión .html)
      5. Comprueba que funciona con el botón Nuevo tiddler de la barra lateral. Escribe algo en el tiddler y haz click en el botón OK
      6. Guarda ahora los cambios haciendo click en el botón Guardar cambios de la barra lateral.
        • Aparecerá un mensaje de confirmación arriba a la derecha

      Nota: TWEdit es un proyecto independiente de TiddlyWiki

      Guardar en Safari

       3 junio 2016 a las 14:17

      Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado.

      1. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      2. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, siempre que mantengas la extensión .html o .htm
      3. Abre el archivo en el navegador
      4. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      5. Guarda los cambios con el botón Guardar cambios de la barra lateral
      6. Se mostrará una ventana emergente Descargar cambios, con un enlace con el nombre Clic-derecho para guardar cambios
      7. Haz clic con el botón derecho y selecciona Descargar destino como... (u opción parecida) en el menú desplegable
      8. Ve hasta la carpeta que contiene el archivo HTML de tu wiki y selecciona el archivo
      9. Clic en el botón Guardar
      10. Clic en Reemplazar para confirmar la sustitución del archivo existente
      11. Comprueba que los cambios se han guardado correctamente

      Saving on TiddlyDesktop

       7 mayo 2020 a las 11:43

      See the Introducing TiddlyDesktop Video

      1. Install the latest release of TiddlyDesktop from https://github.com/TiddlyWiki/TiddlyDesktop/releases
      2. Run TiddlyDesktop
      3. Use the browse button to open TiddlyWiki files
      4. Save changes within TiddlyWiki in the usual way

      Saving on TiddlyHost

       23 abril 2021 a las 1:39

      TiddlyHost.com is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create "sites", (i.e. TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable TiddlyHost Hub where they'll be discoverable by others.

      Unlike TiddlySpot, TiddlyHost is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your TiddlySpot sites. For more information see the FAQ and the About page.

      Guardar en TiddlySpot

       23 abril 2016 a las 6:49

      TiddlySpot es un servicio de alojamiento gratuito para documentos de TiddlyWiki hecho por Simon y Daniel Baird. La manera más sencilla de empezar a usarlo es registrarse en http://tiddlyspot.com. Por defecto muestra la última versión de TiddlyWiki Classic, pero es totalmente compatible con TW5

      Puedes subir un documento de TiddlyWiki5 a TiddlySpot siguiendo estos pasos:

      1. Regístrate en http://tiddlyspot.com/ para poder crear un wiki y recuerda el nombre y la contraseña elegidos
      2. Abre tu copia local de TiddlyWiki en el navegador
      3. En la pestaña Guardando del panel de control, rellena los campos de nombre y contraseña en TiddlySpot
      4. Haz clic en el botón Guardar cambios. Una notificación en la esquina superior derecha de la pantalla te confirmará el guardado. Guardar puede llevar algún tiempo, dependiendo de la velocidad de conexión y del tamaño del wiki.
      5. Navega hasta tu wiki en TiddlySpot: http://tuwiki.tiddlyspot.com/

      Ten en cuenta que la contraseña se envía sin encriptar. Más información en http://faq.tiddlyspot.com/:

      ¿Es seguro TiddlySpot?

      No. TiddlySpot no usa SSL/https. Tu contraseña se envía sin encriptar al guardar y al identificarte en un sitio privado. Esto significa que tu sitio en TiddlySpot es vulnerable al sniffing de paquetes y que tu contraseña puede ser vista por terceras partes malintencionadas. Los datos de tu sitio en TiddlySpot también se envían sin encriptar cuando accedes a tu sitio, aunque sea privado. Por este motivo te recomendamos que no incluyas en TiddlySpot información sensible como detalles bancarios y que no uses contraseñas que ya tengas en uso en otros sitios seguros.

      Problemas al guardar en TiddlySpot

      Si usas Firefox, es más que probable que tropieces con este error al intentar guardar tu wiki en TiddlySpot:

      Error while saving:

      Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

      La operación de guardado falla por restricciones de seguridad de Firefox y está fuera de nuestro alcance. Hasta que se resuelva, nuestro consejo es que para guardar en TiddlySpot uses otro navegador, por ejemplo, Chromium:

        1. Abre tu wiki local con Chromium y repite los pasos 1 a 5 descritos más arriba
        2. Una vez hayas comprobado en Chromium que TiddlySpot ha alojado tu wiki correctamente, podrás acceder, editar y guardar con Firefox en la copia online.
      • Después de subir tu archivo local por primera vez, podrás editar tu wiki y guardar cambios online con cualquier navegador moderno de tu preferencia.
        • No olvides introducir los datos de tu sitio de TiddlySpot en Guardando cada nuevo navegador con el que quieras guardar cambios online

      Ver también Actualizaciones

      Si lo que quieres es trabajar en local, subiendo luego los cambios a TiddlySpot, tendrás que volver a usar Chromium para evitar el error de Firefox.

      Saving on TidGi Desktop

       

      See its readme about details of TidGi's design decisions, here is a brief summary:

      1. TidGi runs TiddlyWiki on Node.js while TiddlyDesktop focus on single HTML wiki
      2. TidGi has built-in git-sync backup script
      3. TidGi provides some electron based feature, such as a menubar mini window and a shell executor.

      How to install

      1. Install the latest release of TidGi Desktop from https://github.com/tiddly-gittly/TidGi-Desktop/releases/latest
      2. Run TidGi
      3. Create a new wiki, or open an existing nodejs tiddlywiki folder
      4. Changes are automatically saved, you can optionally configue it to sync to the github every 30min

      Saving to a Git service

       23 julio 2023 a las 8:42

      TiddlyWiki can save changes directly to a GitHub repository in the single file configuration.

      Saving to a Git service is configured in the $:/ControlPanel in the Git Service Saver tab under the Saving tab. The following settings are supported:

      • Type - (mandatory) the type of the service (e.g. GitHub, GitLab)
      • Username - (mandatory) the username for the Git service account used for saving changes
      • Password - (mandatory) the OAUTH token or personal access token for the specified account. Note that GitHub deprecated password authentication, permitted authentication methods are shown in the API documentation.
      • Repository - (mandatory) the name of the Git repository. Both the owner name and the repository name must be specified. For example Jermolene/TiddlyWiki5
      • Branch - (optional) the name of the branch to be used within the Git repository. Defaults to main (GitHub) or master (GitLab)"
      • Path - (optional) the path to the target file. Defaults to /
      • Filename - (mandatory) the filename of the target file

      Notes

      • The Git service token or password is stored persistently in browser local storage. Be sure to clear the password if using a shared machine. Using a personal access token for authentication offers an extra layer of security: if the access token is accidentally exposed it can be revoked without needing to reset the account password

      For a more detailed info about the GitHub saver see: GitHub Saver Tutorial by Mohammad

      Saving via a Minimal Ruby Server

       7 mayo 2020 a las 21:31

      This is a minimal server using Ruby Webrick. It just serves up files from the same folder and handles saving.

      Once running, just point your web browser at http://localhost:8000 to view the folder listing, and click on your wiki html file.

      See the script at:

      https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da

      Saving via a Minimal Web Server

       2 marzo 2023 a las 5:59

      A local mini binary server for TiddlyWiki5 that saves and backups wikis and uploads files for TiddlyWiki, inspired by tw5-server.rb .

      tw5server provides features of:

      • Server for TiddlyWiki5, as well as other files (e.g. images used in TW5 [img[images/*.png]]);
      • Easy to save wiki via browsers;
      • Backup wiki in compress format (.gz), to save disk space;
      • Auto clean backups: keep one newest per previous month, keep all backups in current month.
      • Upload files/images to server via pressing button or drag-and-drop, for use in tiddlywiki as external links.
      • Offer binary executable for Linux, macos, Android and windows.

      Download executable binary at the github.com tw5-server.

      Usage

      tw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup
      
      -h usage help
      -a address, defautl localhost
      -p port, default 8000
      -d directory to servering, default `current dir`
      -b backup directory name, default `backup`
      -l log saving messages to stdout
      
      Backups auto-clean strategy:
      Keep all backups in current month, keep only the newest one for previous months.

      In Unix/Linux, maybe first chmod +x tw5server), then run it. For Android version, run it in Termux, or some other terminals.

      Then go to http://localhost:8000 (or other address:port specified in command) in your web browser, and click on your wiki html file.

      Saving via WebDAV

       15 junio 2022 a las 16:50

      If hosted on a WebDAV-enabled server, TiddlyWiki will automatically save changes via HTTP for TiddlyWiki's created after 2016. If you created your wiki before Feb 16 2016 you'll need to Upgrade to enable WebDAV.

      Cross platform lightweight servers

      Lightweight, portable and easy to use solutions

      Windows

      OSX

      • WebDavNav Server via the Mac App store.

      Android

      • RCX is an open source file manager for Android based on rclone. It is available on both F-Droid and Google Play. Thanks to its integrated WebDAV server, it lets you edit the wikis that you keep in your pocket. You can share them with other devices on the local network too.

      Servers

      Many NAS or Subversion servers support WebDAV out of the box. Setting up your own server might take some effort though:

      Free Hosting

      Several WebDAV hosting services tested (box.com, swissdisk.com) don't support accessing HTML files via a webbrowser, so they won't work with TiddlyWiki. However, The GMX mediacenter (www.gmx.net) has been reported as working with WebDAV with a free account.

      Koofr

      Koofr is a cloud service that emphasizes privacy. To use their webdav services, sign up for an account at koofr.eu . Then go to preferences on their web app. Then password from the menu on the left. Scroll down to App Passwords. Use some name like 'tiddlywiki' and generate a password. Despite what it says, save the password somewhere.

      You will probably need to rename your file extension to .aspx. Then upload your file on some path, preferably without spaces to their site. Then in the browser link to the site with an address like:

      https://app.koofr.net/dav/Koofr/myfile.aspx
      

      When you do, an authentication dialog will come up. Use your email address that you used to sign up and the password you just generated to login.

      You should be able to load the file and save changes back in place.

      Paid Hosting

      pCloud

      pCloud is cloud service with servers in Europe and the United States. When you sign up, you need to select which server location is best for you. Then in your web browser, sign in to the service. Upload the file you wish to access via the browser interface. Then, in another tab, open either

      https://webdav.pcloud.com

      if your servers are in the U.S. or

      https://ewebdav.pcloud.com

      if your servers are in Europe.

      A file navigation page should come up. Navigate to your file and open in your browser. You should be able create and save changes.

      Saving with Polly

       23 febrero 2022 a las 16:04

      Polly is a batch file system using Windows PowerShell to restore TiddlyWiki files from a specified download directory to their original home directory.

      Effectively, this becomes a new way to save your files, but with these features:

      • No binary executables
      • Human-readable batch script.
      • No special plugins in your TiddlyWiki file
      • No special browser required
      • No browser extension required.
      • No need for node.exe running in background
      • Total size expanded package only 100k
      • Backups as regular file and/or zip to specified directories
      • The ability to "parrot" extra copies to target directories (e.g. a Dropbox folder)

      It should be able to run anywhere that PowerShell runs, including Windows, Linux, and Mac.

      https://github.com/Marxsal/polly

      Guardar con el módulo alternativo de guardado

       3 junio 2016 a las 14:15

      Guardar con el módulo alternativo de guardado

       3 junio 2016 a las 14:15

      Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado. Tiene, sin embargo, la ventaja de que funciona en casi todos los navegadores de escritorio y en muchos navegadores móviles.

      1. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      2. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, siempre que mantengas la extensión .html o .htm
      3. Abre el archivo en el navegador
      4. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      5. Guarda los cambios con el botón Guardar cambios de la barra lateral
      6. El navegador descargará una copia del wiki que incluye tus cambios.
      7. Localiza el archivo nuevo y ábrelo en el navegador
      8. Comprueba que los cambios se han guardado correctamente

      Consejo: la mayoría de navegadores permiten la opción de especificar la localización de cada descarga, en lugar de descargar a la carpeta por defecto. Esta opción te permite "planchar" tu archivo con la nueva versión.

      Guardar con TiddlyFox

       3 junio 2016 a las 15:59

      Si usas Firefox para Android, las instrucciones que necesitas son estas.

      1. Comprueba que tienes la última versión de Firefox
      2. Descarga e instala la última versión disponible de TiddlyFox
      3. Reinicia Firefox
      4. Descarga un TiddlyWiki en blanco pulsando este botón:
      5. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, pero mantén la extensión .html o .htm
      6. Abre el archivo en Firefox
      7. Dale a OK cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo
      8. Crea un nuevo tiddler usando el botón Nuevo de la barra lateral. Escribe algo en él y haz clic en el botón OK
      9. Guarda los cambios con el botón Guardar de la barra lateral
      10. Recarga la página para comprobar que se han guardado correctamente los cambios

      Guardar con TiddlyFox en Android

       3 junio 2016 a las 15:59

      También puedes consultar el video tutorial

      1. Asegúrate de que tienes la última versión de Firefox para Android
      2. Descarga e instala la última versión de la extensión TiddlyFox de:
      3. Instala esta extensión para poder guardar localmente el archivo TiddlyWiki:
      4. Descarga un TiddlyWiki en blanco guardando el enlace:
        Para guardar el enlace, mantenlo presionado y selecciona "Save link" (asegúrate de tener instalada la extensión "save-link-menus")
      5. Cuando se haya descargado el archivo, haz click en él, bien en la barra de notificaciones, bien en el administrador de descargas.
      6. Para abrirlo, selecciona Firefox en vez del navegador por defecto de Android.
      7. Haz clic en OK cuando TiddlyFox te pregunte si quieres activar la función de guardado para el archivo.
      8. Comprueba que funciona con el botón Nuevo tiddler de la barra lateral. Escribe algo en el tiddler y haz click en el botón OK
      9. Guarda ahora los cambios haciendo click en el botón Guardar cambios de la barra lateral.
        • Arriba a la derecha aparecerá una notificación en amarillo que dice Guardado
      10. Actualiza la ventana del navegador para comprobar que los cambios se han guardado correctamente.

      Guardar con TiddlyIE

       3 junio 2016 a las 14:18
      1. Descarga e instala la extensión TiddlyIE:
      2. Reinicia Internet Explorer. Se te preguntará si quieres activar TiddlyIE
        Puede que también te pida activar Microsoft Script Runtime
      3. Descarga un TiddlyWiki en blanco pulsando este botón
        Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
        Seguramente el navegador te pida que confirmes la descarga
      4. Localiza el archivo que acabas de descargar
        • Puedes cambiarle el nombre, pero mantén la extensión .html o .htm
      5. Abre el archivo con Internet Explorer
      6. Crea un nuevo tiddler usando el botón Nuevo tiddler de la barra lateral. Escribe algo en él y haz clic en el botón OK
      7. Guarda los cambios con el botón Guardar cambios de la barra lateral. Internet Explorer abrirá un cuadro de diálogo para que confirmes que quieres guardar el archivo localmente.
      8. Recarga la página para comprobar que los cambios se han guardado correctamente

      Saving with TW Receiver

       13 junio 2020 a las :43

      TW Receiver is a TiddlyWiki plugin and PHP script used for saving to a PHP based server.

      It's features include simple automated backups, stale Instance Overwrite Protection, challenge digest authentication (enhanced security), and data integrity signing (enhanced security).

      • Visit TW-Receiver for more information, plugin, and code.

      SavingMechanism

       9 julio 2016 a las 12:27

      The SavingMechanism is the mechanism by which TiddlyWiki generates a new HTML file and stores it. It is different from the sync mechanism, which is concerned with synchronising changes to individual tiddlers back to a server (see https://tiddlywiki.com/dev/#SyncAdaptorModules for more details).

      The following steps are involved:

      1. The saver mechanism uses the filter defined in $:/config/SaverFilter to specify which modified tiddlers trigger the dirty state for the wiki. (The dirty state is reflected in the red colouring of the "save changes" button in the sidebar).
      2. The ButtonWidget is used to generate a tm-save-wiki message to trigger the save operation
      3. The optional parameter for the message specifies the template that will be used for generating the HTML file, defaulting to $:/core/save/all
      4. The template includes a variable assignment that specifies a filter to select the tiddlers that should be included in the saved file. It then transcludes the main page template $:/core/templates/tiddlywiki5.html
        • The template includes a reference to $(publishFilter)$ that allows the filter to be customised via a global variable
      5. The tm-save-wiki handler renders the template to generate the HTML file
      6. The message handler chooses the highest priority "saver" module that can handle saving the file

      Escalabilidad

       29 abril 2016 a las 6:53

      Puedes sentirte tentado de pensar que la arquitectura de página única de TiddlyWiki lo hace inadecuado para grandes cantidades de datos. La verdad es que los usuarios de TiddlyWiki suelen trabajar sin problemas con archivos de 20 ó 30 Mb... y se han hecho experimentos satisfactorios con archivos de varios Gb.

      Scripts for TiddlyWiki on Node.js

       15 octubre 2014 a las 17:53

      Script Files

      The TiddlyWiki5 repository contains several scripts in the bin folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See Scripts for building tiddlywiki.com for details of the scripts used to build and release https://tiddlywiki.com/.

      All the scripts expect to be run from the root folder of the repository.

      serve: serves tw5.com

      ./bin/serve.sh -h
      ./bin/serve.sh [edition dir] [username] [password] [host] [port]

      Or:

      ./bin/serve.cmd -h
      ./bin/serve.cmd [edition dir] [username] [password] [host] [port]

      This script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the tw5.com-server edition. By default, the Node.js serves on port 8080. If the optional username parameter is provided, it is used for signing edits. If the password is provided then HTTP basic authentication is used. Run the script with the -h parameter to see online help.

      To experiment with this configuration, run the script and then visit http://127.0.0.1:8080 in a browser.

      Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).

      test: build and run tests

      This script runs the test edition of TiddlyWiki on the server to perform the server-side tests and to build test.html for running the tests in the browser.

      lazy: serves tw5.com with lazily loaded images

      ./bin/lazy.sh <username> [<password>]

      Or:

      ./bin/lazy.cmd <username> [<password>]

      This script serves the tw5.com-server edition content with LazyLoading applied to images.

      ScrollableWidget

       20 junio 2022 a las 12:53

      Introduction

      The scrollable widget wraps its content in a scrollable frame. The user can scroll the contents with the mouse or with touch gestures. Code can use the WidgetMessage: tm-scroll to programmatically scroll specific DOM nodes into view.

      Content and Attributes

      The content of the <$scrollable> widget is displayed within a pair of wrapper DIVs. If the inner DIV is larger then it scrolls within the outer one. CSS is used to specify the size of the outer wrapper.

      AttributeDescription
      classThe CSS class(es) to be applied to the outer DIV
      fallthroughSee below
      Note
      If a scrollable widget can't handle the tm-scroll message because the inner DIV fits within the outer DIV, then by default the message falls through to the parent widget. Setting the fallthrough attribute to no prevents this behaviour.

      Examples

      This example requires the following CSS definitions from $:/_tw5.com-styles:

      .tc-scrollable-demo {
      	border: 1px solid <<colour message-border>>;
      	background-color: <<colour message-background>>;
      	padding: 1em;
      	height: 400px;
      	position: relative;
      }

      This wiki text shows how to display a list within the scrollable widget:

      search Operator

       29 noviembre 2021 a las 12:07
      purposefilter the input by searching tiddler content
      inputa selection of titles
      suffixthe search operator uses a rich suffix, see below for details
      parameterone or more search terms, separated by spaces, or a literal search string
      outputthose input tiddlers in which all of the search terms can be found in the value of field F
      ! outputthose input tiddlers in which not all of the search terms can be found

      Learn more about how to use Filters

      New in: 5.1.18 The search filter operator was significantly enhanced in 5.1.18. Earlier versions do not support the extended syntax and therefore do not permit searching multiple fields, or the literal or casesensitive options.

      The search operator uses an extended syntax that permits multiple fields and flags to be passed:

      [search:<field list>:<flag list>[<operand>]]
      • field list: a comma delimited list of field names to restrict the search
        • defaults to tags, text and title if blank
        • an asterisk * instead of the field list causes the search to be performed across all fields available on each tiddler
        • preceding the list with a minus sign - reverses the order so that the search is performed on all fields except the listed fields
      • flag list: a comma delimited list of flags (defaults to words if blank)
      • operand: filter operand

      This example searches the fields title and caption for a case-sensitive match for the literal string :

      [search:title,caption:literal,casesensitive[The first]]

      The available flags are:

      • Search mode - the first to be set of the following flags determines the type of search that is performed:
        • literal: considers the search string to be a literal string, and requires an exact match
        • whitespace: considers the search string to be a literal string, but will consider all runs of whitespace to be equivalent to a single space. Thus A B matches A B
        • regexp: treats the search string as a regular expression. Note that the regexp option obviates the need for the older regexp operator.
        • words: (the default) treats the search string as a list of tokens separated by whitespace, and matches if all of the tokens appear in the string (regardless of ordering and whether there is other text in between)
        • some: New in: 5.2.2 treats the search string as a list of tokens separated by whitespace, and matches if at least one of the tokens appear in the string
      • casesensitive: if present, this flag forces a case-sensitive match, where upper and lower case letters are considered different. By default, upper and lower case letters are considered identical for matching purposes.
      • anchored: New in: 5.1.20 anchors the search to the start of the string (applies to whitespace, literal and words modes)

      Examples

      search Operator (Examples)

       29 noviembre 2021 a las 12:27

      [!is[system]search[table]]
      → non-system tiddlers containing the word "table"
      [all[shadows]search[table]]
      → shadow tiddlers containing the word "table"
      [search:caption[arch]]
      → tiddlers containing arch in their caption field
      [search:*[arch]]
      → tiddlers containing arch in any field
      [search:-title,caption[arch]]
      → tiddlers containing arch in any field except title and caption
      [!is[system]search[the first]]
      → non-system tiddlers containing a case-insensitive match for both the "the" and "first"
      [!is[system]search::literal[the first]]
      → non-system tiddlers containing a case-insensitive match for the literal phrase "the first"
      [!is[system]search::literal,casesensitive[The first]]
      → non-system tiddlers containing a case-sensitive match for the literal phrase "The first"
      [search:caption,description:casesensitive,words[arch]]
      → any tiddlers containing a case-sensitive match for the word arch in their caption or description fields
      [search:tags:some[how test]]
      → any tiddlers containing at least 1 of the search terms in the field: tags
      [search:tags:some,casesensitive[how test]]
      → any tiddlers containing at least 1 of the case-sensitive search terms in the field: tags
      [search:tags,title:some,anchored[how test]]
      → any tiddlers containing at least 1 of anchored search terms in the fields: tags and title

      search-replace Operator

       29 agosto 2021 a las 18:45
      purposereturns each item in the list, replacing within each title the string specified by the first parameter with the second parameter
      inputa selection of titles
      suffixthe search-replace operator uses a rich suffix, see below for details
      parameterthe search-replace operator requires 2 parameters, see below for details
      outputthe input titles with the search string replaced with the replacement string

      Learn more about how to use Filters

      New in: 5.1.23

      The search-replace operator uses an extended syntax that allows for multiple suffixes and parameters to be passed:

      [search-replace:<flag list>:<regexp-mode>[<search-term>],[<replacement>]]
      • flag-list: g for global mode to replace all matches, i for case-insensitive mode, New in: 5.2.0 m for multiline mode, "gim" for all. (optional)
      • regexp-mode: regexp to treat the first parameter as a regular expression (optional).
      • search-term: string or regular expression that should be replaced
      • replacement: string that should replace the search-term

      Either parameter can be a string, a text reference or a variable

      Examples

      search-replace Operator (Examples)

       1 noviembre 2021 a las 12:52

      Replace one string with another:

      [[The quick brown fox jumps over the lazy dog]search-replace[dog],[cat]]

      Replace all matches of a regular expression:

      \define myregexp() e|o

      [[Hello There]search-replace:g:regexp<myregexp>,[]]

      Replace all matches of a string irrespective of case:

      [[Hello There]search-replace:gi[H],[]]

      You can also use regular expression capture groups in the replacement string: \define names() (\w+)\s(\w+)

      [[John Smith]search-replace::regexp<names>,[$2,$1]]

      You can reference the portion of the input that matches the regular expression with $&:

      [[John Smith]search-replace::regexp[John .*],[His name is $&]]

      [[This is an exciting feature]search-replace::regexp[exciting],[amazing and $&]]

      To replace everything but a match using a regular expression and the multiline (m) flag: \define myregexp2() ^(?!Unlike).*$

      [[HelloThere]get[text]search-replace:gm:regexp<myregexp2>,[]]

      You can use the search-replace Operator in combination with the sortsub Operator to ignore stop words like "A" and "The" at the beginning of titles when sorting. (Note for example that "A Tale of Two Cities" sorts under "T" rather than "A")

      [enlist<book-list>sortsub<compare-without-stopwords>]

      You can also customise the listing so that "A Tale of Two Cities" is listed as "Tale of Two Cities, A" but still links to the correct tiddler.

      <ul>
      <$list filter="[enlist<book-list>sortsub<compare-without-stopwords>]">
      <li><$link><$text text={{{[<currentTiddler>search-replace:i:regexp[(^The |A )(.*)],[$2, $1]]}}}/></$link></li>
      </$list>
      </ul>

      Este es su aspecto:

      Búsquedas en TiddlyWiki

       22 abril 2016 a las 10:58

      La función de búsqueda en TiddlyWiki es rápida y flexible

      Búsqueda estándar

      El cuadro de búsqueda de la barra lateral devuelve una lista de tiddlers coincidentes con el texto que se escriba en él.

      Las pestañas de la barra lateral quedan ocultas bajo los resultados de la búsqueda hasta que se pulse en cualquier lugar para ocultarlos o se pinche la x para resetearlo.

      Búsqueda avanzada

      Si se pincha en el botón con forma de lupa que hay a la derecha del cuadro de búsqueda, se abre la búsqueda avanzada, que contiene cuatro pestañas.

      • Estándar es una instancia más del cuadro de búsqueda estándar de la barra lateral
      • Sistema restringe el ámbito de búsqueda a los tiddlers de sistema
      • Ocultos restringe el ámbito de búsqueda a los tiddlers ocultos
      • Filtro no es en sí un cuadro de búsqueda, sino una manera rápida de obtener una lista de tiddlers que cumplen todas las condiciones de una expresión de filtros. Por ejemplo: "Todas las etitquetas, excepto las de sistema"

      Searchwikis by Mohammad

       17 noviembre 2020 a las 16:04

      Searchwikis plugin uses index (dataTiddler) to search multiple external Tiddlywikis.

      https://kookma.github.io/TW-Searchwikis/

      It has two parts

      1. An indexer, to build an index of all tiddlers in an external wiki
      2. A search tool to search indexes and display a link to a tiddler found in an external wiki

      Then one master wiki can host many index tiddlers and lets to search several external wikis through index tiddlers.

      Searchwikis enable to have a central wiki and search all other wikis from one place.

      Second

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SecondOne

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SecondThree

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SecondThreeOne

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SecondThreeThree

       14 noviembre 2021 a las 1:36

      Important

      It's important that this tiddler has no "child" to be able to visually test every possible toc code-path.

      • This tiddler has a field toc-link: no
      • Do not tag any other tiddler with the title of this one

      SecondThreeTwo

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SecondTwo

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      SeeAlso by Matias Goldman

       6 enero 2021 a las 15:10

      A simple technique for adding tag-based cross references to the default view template.

      http://seealso.tiddlyspot.com

      See also: - is a feature to generate a "See also:" section after the tiddler text, somewhat like in Wikipedia articles.

      Constructores de selección

       20 abril 2016 a las 19:30

      El output de un paso depende de su operador:

      • La mayoría de operadores obtienen su output a partir del input. Por ejemplo, muchos devuelven un subconjunto del input, cumpliendo así realmente con la función de "filtros", al reducir el output de la instrucción que los contiene. Estos operadores se llaman modificadores de selección.
      • Unos pocos operadores, sin embargo, ignoran el input y generan un output independiente. A estos se les llama constructores de selección, porque construyen una selección totalmente nueva.

      Un buen ejemplo de constructor es title. El output de [title[A]title[B]] es B, mientras que field es un modificador, por lo que [title[A]field:title[B] no genera output alguno.

      SelectWidget

       8 noviembre 2021 a las 16:50

      Introduction

      The select widget displays a popup menu based on a HTML select element. The popup (or dropdown) contains a list of items defined by <option> and <optgroup> elements. Every time the user selects a new value in the menu, the selected value is written to the text of a specified tiddler field or index and any ActionWidgets within the actions attribute are triggered. Conversely, if the tiddler value is changed independently the select widget is automatically updated to reflect the new value.

      In multiple selection mode, the list of selected values is bound to the specified tiddler field or index. Browsers generally use the ctrl or cmd keys for multiple selection.

      For example, this select widget displays a list of the tags in this wiki:

      <$select tiddler=<<qualify 'select-demo'>> default='HelloThere'>
      <$list filter='[all[shadows+tiddlers]tags[]sort[title]]'>
      <option value=<<currentTiddler>>><$view field='title'/></option>
      </$list>
      </$select>

      Este es su aspecto:

      The state tiddler currently contains:

      See the text change as you switch entries in the select widget. Try changing the value of the state tiddler and see the select widget change. Notice how the select widget only displays an entry if there is a precise match with the tiddler text.

      Content and Attributes

      The content of the <$select> widget should be one or more HTML <option> or <optiongroup> elements that provide the available values.

      AttributeDescription
      tiddlerThe title of the tiddler containing the value to be displayed/modified by the select widget (defaults to the current tiddler)
      fieldThe field name for the value in the current tiddler (defaults to "text")
      indexThe index of a property in a DataTiddler (takes precedence over the field attribute)
      classCSS classes to be assigned to the HTML select element
      tooltipOptional tooltip
      defaultDefault value to be used if the tiddler, field or index specifies a missing value
      multipleIf present, switches to multiple selection mode
      sizeThe number of rows to display in multiple selection mode
      actionsA string containing ActionWidgets to be triggered when the key combination is detected
      focus New in: 5.2.4 Optional. Set to "yes" to automatically focus the HTML select element after creation
      tabindex New in: 5.3.1 Optional. Sets the tabindex attribute of the HTML select element to the given value

      Examples

      Simple Lists

      This example sets the title of the current wiki $:/SiteTitle to one of a list of book titles:

      <$select tiddler='$:/SiteTitle' tooltip='Choose a new site title'>
      <option>A Tale of Two Cities</option>
      <option>A New Kind of Science</option>
      <option>The Dice Man</option>
      </$select>

      Este es su aspecto:

      Simple List with Placeholder Value

      To display a default value that is also disabled, effectively functioning as a placeholder, the following form can be used. Note that the targeted field must be empty, or not exist, for the placeholder to show in the widget:

      <$select tiddler='New Tiddler' field='text' default='Choose a new text'>
      <option disabled>Choose a new text</option>
      <option>A Tale of Two Cities</option>
      <option>A New Kind of Science</option>
      <option>The Dice Man</option>
      </$select>

      Este es su aspecto:

      Value lists

      In this example the value attribute has been used to specify the text that should be used as the value of the entry instead of the display text.

      <$select tiddler='$:/SiteTitle'>
      <option value='cities'>A Tale of Two Cities</option>
      <option value='science'>A New Kind of Science</option>
      <option value='dice'>The Dice Man</option>
      </$select>

      Este es su aspecto:

      Option Groups

      Entries in the list can be grouped together with the <optgroup> element

      <$select tiddler='$:/SiteTitle'>
      <optgroup label='Fiction'>
      <option value='cities'>A Tale of Two Cities</option>
      <option value='dice'>The Dice Man</option>
      </optgroup>
      <optgroup label='Non-fiction'>
      <option value='science'>A New Kind of Science</option>
      <option value='recursive'>The Recursive Universe</option>
      </optgroup>
      </$select>

      Este es su aspecto:

      Generated Lists

      The ListWidget can be used to generate the options for a select widget. For example, here we combine a select widget listing all the tiddlers tagged TableOfContents with a transclusion to display the text of the selected one.

      <$select tiddler='$:/generated-list-demo-state'>
      <$list filter='[tag[TableOfContents]]'>
      <option><$view field='title'/></option>
      </$list>
      </$select>
      <$tiddler tiddler={{$:/generated-list-demo-state}}>
      <$transclude mode='block'/>
      </$tiddler>

      Este es su aspecto:

      Nested Lists

      This example uses a nested pair of list widgets. The outer one generates the <optgroup> elements, and the inner one generates <option> elements:

      <$select tiddler='$:/generated-list-demo-nestedstate' field='type' default='text/vnd.tiddlywiki'>
      <$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>
      <optgroup label={{!!group}}>
      <$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]'>
      <option value={{!!name}}><$view field='description'><$view field='title'/></$view> (<$view field='name'/>)</option>
      </$list>
      </optgroup>
      </$list>
      </$select>

      Este es su aspecto:

      Multiple Selections

      This example uses the multiple keyword to specify that we should be able to select multiple items.

      <$select tiddler='$:/generated-list-demo-state' field='testing' multiple size='8'>
      <$list filter='[tag[TableOfContents]]'>
      <option><$view field='title'/></option>
      </$list>
      </$select><br />
      <$list filter='[list[$:/generated-list-demo-state!!testing]]'>
      <$view field='title' /><br />
      </$list>
      

      Este es su aspecto:


      Actions

      This example uses the actions attribute to apply days of the week as tags to the current tiddler.

      <$select tiddler='$:/generated-list-demo-state' field='actions-test' 
      actions='<$action-listops $field="myfield" $tags={{$:/generated-list-demo-state!!actions-test}}/>'
      >
      <$list filter='[list[Days of the Week]]'>
      <option><$view field='title'/></option>
      </$list>
      </$select>
      

      Este es su aspecto:

      Semantic Colors by Mohammad

       6 enero 2021 a las 15:10

      Semantic colors are set of CSS to apply colorful theme to individual tiddlers for categorisation purpose.

      https://kookma.github.io/TW-Semantic-Colors/

      Tiddlywiki "semantic colors" has two objectives:

      1. How it is simply possible to apply theme to an individual tiddler
      2. Use semantic colors for categorisation
      Some use cases
      Learning materials (each topic, category can have dedicated semantic color, like learning a foreign language)
      Slideshow (section divider, each part can have a semantic color)
      Books and tutorials ( different semantic colors can be applied to chapters, specific subjects, like example tiddlers)
      Visual tags (instead of looking for tag bar and see to what category this subject (tiddler) belongs, you can identify it by its semantic color)

      sentencecase Operator

       19 junio 2019 a las 12:07
      purposereturns each item in the list with the first letter capitalised
      inputa selection of titles
      outputthe input titles with each first letter capitalised

      Learn more about how to use Filters

      New in: 5.1.20

      See also lowercase Operator, uppercase Operator, titlecase Operator.

      This operator does not change anything except the first letter of each title, so [[aBcD eFgH]] would become [[ABcD eFgH]]. If you want [[Abcd efgh]], then use a filter like [lowercase[]sentencecase[]].

      Examples

      sentencecase Operator (Examples)

       20 junio 2019 a las 15:03

      [[abc def ghi jkl]sentencecase[]]

      [[abc deF gHi jKL]sentencecase[]]

      [[abc deF gHi jKL]lowercase[]sentencecase[]]

      [tag[HelloThere]sentencecase[]]

      ServerCommand

       26 junio 2018 a las 16:05

      Note that the --server command is now deprecated in favour of the new ListenCommand.

      See WebServer for details of TiddlyWiki's web server functionality.

      Comando obsoleto para servir una wiki a través de HTTP.

      --server <port> <root-tiddler> <root-render-type> <root-serve-type> <username> <password> <host> <path-prefix> <debug-level>

      Los parámetros son

      • port - número de puerto desde el que sirve; valores no numéricos se interpretan como una variable de entorno del sistema de la que se extrae el número de puerto (por defecto, "8080")
      • roottiddler - tiddler que se sirve desde la raíz (por defecto, "$:/core/save/all")
      • rendertype - tipo de contenido con el que se genera el tiddler raíz (por defecto "text/plain")
      • servetype - tipo de contenido con el que se sirve el tiddler raíz (por defecto "text/html")
      • username - nombre de usuario por defecto que firma la edición
      • password - contraseña opcional para autenticación básica
      • host - nombre opcional del servidor desde el que se sirve (por defecto, "127.0.0.1" o "localhost")
      • pathprefix - prefijo opcional para rutas
      • debug-level - nivel de depuración opcional; establecer en "debug" para ver los detalles de la solicitud (el valor predeterminado es "none")

      Si se ha definido contraseña, el navegador pedirá que se introduzca nombre y contraseña.
      Nótese que la contraseña se transmite en modo texto por lo que esta implementación solo debe usarse en redes seguras or utilizando HTTPS.

      Por ejemplo:

      --server 8080 $:/core/save/all text/plain text/html MyUserName passw0rd

      El nombre de usuario y la contraseña pueden ser especificados como cadenas de símbolos vacías si se necesita configurar el nombre del servidor o prefijo de ruta y no se requiere contraseña:

      --server 8080 $:/core/save/all text/plain text/html "" "" 192.168.0.245

      El uso de una dirección como esta expone tu sistema a la red local. Para obtener información sobre cómo abrir tu instancia a toda la red local y posibles problemas de seguridad, consulta el tiddler de WebServer en TiddlyWiki.com.

      Para ejecutar simultáneamente múltiples servidores TiddlyWiki, deberán configurarse cada uno en un puerto diferente

      --server MY_PORT_NUMBER $:/core/save/all text/plain text/html MyUserName passw0rd

      Serving TW5 from Android

       7 mayo 2020 a las 12:29

      Termux is and open source android application providing limited Unix environment enabling users to install Node.js and npm modules in android. Users can install and run TiddlyWiki on Node.js using Termux.

      Instructions

      apt update
      apt upgrade
      apt install nodejs
      npm install -g tiddlywiki
      • If you need to create/serve TiddlyWiki on Node.js from the internal storage, you need to give termux storage permission by running the following command in termux
      termux-setup-storage
      • Now you can create and serve TiddlyWiki on Node.js from internal storage. In the example given below, user is creating a new wiki called "mynewwiki" in his internal folder.
      cd storage/shared
      tiddlywiki mynewwiki --init server
      tiddlywiki mynewwiki --listen
      • Visit http://127.0.0.1:8080/ in your browser
      • From then on, as long as Termux is not closed, you may access your wiki anytime from your favourite Web browser pointing on the expected address and port.

      In Termux, you may as well install git, emacs or vi, in order to edit and maintain individual tiddler files. This would probably require that you also attach a more powerful keyboard to your Android, like the Hacker's Keyboard application or a Bluetooth external device.

      SetFieldCommand

       9 junio 2014 a las 13:16

      Téngase en cuenta que este comando es experimental y puede cambiar o ser reemplazado

      Configura el campo especificado de un grupo de tiddlers como resultado de una plantilla con la variable currentTiddler

      --setfield <filter> <fieldname> <templatetitle> <rendertype>

      Sus parámetros son:

      • filter - filtro que identifica los tiddlers que se verán afectados
      • fieldname - el campo que será modificado (por defecto, "text")
      • templatetitle - el tiddler a wikify en el campo especificado. Si se deja en blanco o está ausente, el campo especificado es borrado.
      • rendertype - el tipo de texto a generar (por defecto, "text/plain"; se puede usar también "text/html" para incluir etiquetas HTML)

      SetMultipleVariablesWidget

       23 octubre 2021 a las 17:24

      Introduction

      The setmultiplevariables widget assigns values to multiple variables where the names and values of the variables are specified as separate filter.

      Content and Attributes

      The content of the <$setmultiplevariables> widget is the scope for the value assigned to the variable.

      AttributeDescription
      $namesFilter evaluating to the names of a list of variables to assign
      $valuesFilter evaluating to the values corresponding to the list of names specified in $names

      Examples

      Here is an example of a convoluted way to display the values of the fields of the tiddler "HelloThere":

      <$setmultiplevariables $names="[[HelloThere]fields[]addprefix[demo-]]" $values="[[HelloThere]fields[]] :map[[HelloThere]get<currentTiddler>]">
      <ol>
      <$list filter="[variables[]prefix[demo-]sort[]]">
      <li>
      ''<$text text={{{ [<currentTiddler>removeprefix[demo-]] }}}/>'': <$text text={{{ [<currentTiddler>getvariable[]] }}}/>
      </li>
      </$list>
      </ol>
      </$setmultiplevariables>

      Este es su aspecto:

      1. caption: ¡Hola!
      2. created: 20130822170200000
      3. es-title: ¡Hola! ¿Qué tal?
      4. list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]
      5. modified: 20160605052349288
      6. tags: TableOfContents
      7. text: ''¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?'' BIenvenido a TiddlyWiki, un bloc de notas [[no lineal|Philosophy of Tiddlers]] único para [[capturar|Creating and editing tiddlers]], [[organizar|Structuring TiddlyWiki]] y [[compartir|Sharing your tiddlers with others]] información compleja. Úsalo para mantener tu [[lista de tareas|TaskManagementExample]], para desarrollar un [[ensayo o novela|"TiddlyWiki for Scholars" by Alberto Molina]], o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades. <div style="font-size:0.7em;text-align:center;margin-top:2em;margin-bottom:2em;"> <<list-thumbnails filter:"[tag[HelloThumbnail]]" width:"168" height:"95">> </div> Al revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy. <div style="font-size:0.7em;text-align:center;margin-top:3em;margin-bottom:3em;"> <a href="http://groups.google.com/group/TiddlyWiki" class="tc-btn-big-green" style="background-color:#FF8C19;" target="_blank" rel="noopener noreferrer"> {{$:/core/images/mail}} ~TiddlyWiki en Google Groups </a> <a href="https://www.youtube.com/c/JeremyRuston" class="tc-btn-big-green" style="background-color:#e52d27;" target="_blank" rel="noopener noreferrer"> {{$:/core/images/video}} ~TiddlyWiki en ~YouTube </a> <a href="https://twitter.com/TiddlyWiki" class="tc-btn-big-green" style="background-color:#5E9FCA;" target="_blank" rel="noopener noreferrer"> {{$:/core/images/twitter}} @~TiddlyWiki en Twitter </a> <a href="https://github.com/Jermolene/TiddlyWiki5" class="tc-btn-big-green" style="background-color:#444;" target="_blank" rel="noopener noreferrer"> {{$:/core/images/github}} ~TiddlyWiki en ~GitHub </a> </div>
      8. title: HelloThere
      9. type: text/vnd.tiddlywiki

      Definir un favicon

       27 abril 2016 a las 6:45

      El "favicon" es un pequeño icono que la mayoría de navegadores incorporan a la ventana para ayudar al usuario a identificar páginas.

      favicons en el navegador

      Cuando TiddlyWiki arranca en el navegador, busca un tiddler llamado $:/favicon.ico y lo usa dinámicamente como favicon de la página. Si modificas la imagen, el favicon cambiará al instante.

      favicons en el servidor

      Trabajando en la versión servidor de TiddlyWiki, es el comando ServerCommand quien facilita el contenido del tiddler $:/favicon.ico a la ruta /favicon.ico.

      Definir fondo de página

       27 abril 2016 a las 7:53
      1. Importa la imagen como un tiddler. Consulta Images in WikiText
      2. Abre el Panel de control y la pestaña Theme Tweaks en Aspecto
      3. Selecciona la imagen en el desplegable "Page background image"
      4. Establece "Page background image attachment" como "Fixed to window" para mantener la imagen fija y que el contenido se desplace sobre ella o como "Scroll with tiddlers" para que se muevan simultáneamente.
      5. Ajusta el tamaño de la imagen con "Page background image size":
        • "Auto" hace que la imagen, si es necesario, forme mosaico para cubrir el fondo de la página
        • "Cover" ajusta la imagen de forma que cubra por completo el fondo de la página, lo que puede provocar que zonas de la imagen queden fuera de la vista.
        • "Contain" hace que la imagen cambie su tamaño para ajustarse a los bordes de la página, lo que puede producir deformaciones en la imagen según sean sus dimensiones (p.ej, una imagen cuadrada se estirará horizontalmente de forma desproporcionada a su altura para encajar en una pantalla rectangular panorámica)

      De forma complementaria, puede ser necesario cambiar la Paleta de colores para mantener el nivel de legibilidad de la barra lateral.

      SetVariableWidget

       25 octubre 2014 a las 12:56

      The <$setvariable> widget is a synonym for <$set/>; see SetWidget for more details.

      SetWidget

       23 mayo 2022 a las 8:55

      Introduction

      The set variable widget assigns a value to a specified variable. The new value of the variable is available to the content within the set variable widget.

      Content and Attributes

      The content of the <$set> widget is the scope for the value assigned to the variable.

      AttributeDescription
      nameThe name of the variable to assign (defaults to "currentTiddler")
      valueThe value to assign to the variable if the filter attribute is missing or not empty
      tiddler New in: 5.1.15 Optional title of the tiddler from which to read the value
      subtiddler New in: 5.1.16 Optionally specifies the title of a subtiddler within a plugin tiddler identified by the tiddler attribute
      field New in: 5.1.15 Optional field of the tiddler from which to read the value (only used if tiddler is used)
      index New in: 5.1.15 Optional index of the tiddler from which to read the value (only used if tiddler is used)
      filterAn optional filter to be evaluated and assigned to the variable (see "Filtered List Variable Assignment" below). The variable can be used with the enlist operator
      select New in: 5.1.14 An optional zero-based index of the item to return from the filter output (see below)
      emptyValueThe value to assign to the variable if the specified value is missing or empty (see below)

      If the value of your variable is enclosed in double square brackets this might indicate that you are returning a list of values from the filter. To use a single title from the filter output without the double square brackets see Filtered Item Variable Assignment below.

      Examples

      Simple Variable Assignment

      The simplest way of using set variable widget assigns a string to a variable. The following example assigns a literal string

      <$set name="myVariable" value="Some text">
      <$text text=<<myVariable>>/>
      </$set>

      Este es su aspecto:

      Some text

      Both the name and value attributes can be transcluded. For example:

      <$set name=anotherVariable value="myVariable">
        <$set name=<<anotherVariable>> value={{$:/language/DefaultNewTiddlerTitle}}>
          <$text text=<<myVariable>>/>
        </$set>
      </$set>

      Este es su aspecto:

      Nuevo Tiddler

      Conditional Variable Assignment

      This form of the set variable widget chooses one of two specified values according to whether a filter evaluates to an empty list. Here's an example that sets a variable according to whether the current tiddler is called "myMagicTitle":

      <$set name="myVariable" filter="[all[current]field:title[myMagicTitle]]" value="It's magic" emptyValue="It's not magic">
      <$text text=<<myVariable>>/>
      </$set>

      Este es su aspecto:

      It's not magic

      Filtered List Variable Assignment

      This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).

      The Title List format cannot reliably represent items that contain certain specific character sequences such as ]] . Thus it should not be used where there is a possibility of such sequences occurring.

      <$set name="myVariable" filter="[tag[HelloThere]]">
      <$text text=<<myVariable>>/>
      </$set>

      Este es su aspecto:

      [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] [[Funding TiddlyWiki]] [[Open Collective]]

      Filtered Item Variable Assignment Single Element

      New in: 5.1.14 This form of the set variable widget evaluates the filter and assigns the specified result to the variable as a single item (ie, not using double square brackets for titles containing spaces).

      <$set name="myVariable" filter="[tag[HelloThere]]" select="0">
      <$text text=<<myVariable>>/>
      </$set>

      Este es su aspecto:

      A Gentle Guide to TiddlyWiki

      Transcluded Variable Assignment

      New in: 5.1.15 This form of the set variable widget obtains the value to assign to the variable from a value in a tiddler field or index. For example:

      <$set name="myVariable" tiddler="HelloThere" field="list">
      <$text text=<<myVariable>>/>
      </$set>

      Este es su aspecto:

      [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]

      The example above could also be written as <$set name="myVariable" value={{HelloThere!!list}}>. The advantage of using the tiddler attribute is that the tiddler title and field or index can themselves be computed. For example:

      <$set name="myTiddler" value="HelloThere">
        <$set name="myVariable" tiddler=<<myTiddler>> field={{$:/docs/anyField!!field}}>
          <$text text=<<myVariable>>/>
        </$set>
      </$set>

      Este es su aspecto:

      [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]]

      sha256 Operator

       29 enero 2022 a las 10:55
      purposeapply sha256 hash to a string
      inputa selection of titles
      parameterL = the number of characters to return, up to a maximum of 64
      outputthe base64 encoded sha256 of the input, truncated to the specified length

      Learn more about how to use Filters

      New in: 5.1.14

      Hashes are a way of turning strings of arbitrary length into obfuscated strings of fixed length. They are often used in situations where items need to be stored by name but it is inconvenient to allow arbitrary length strings.

      See Wikipedia for details of the sha256 operation.

      Examples

      shadowsource Operator

       3 febrero 2015 a las 19:11
      purposeselect the plugin titles that contain the input shadows
      inputa selection of shadow titles
      parameternone
      outputthe plugins that contain the input tiddlers

      Learn more about how to use Filters

      Each input title is processed in turn. If it denotes a shadow tiddler, the title of its plugin tiddler is dominantly appended to the output. Non-shadow tiddlers contribute nothing to the output.

      Examples

      shadowsource Operator (Examples)

       24 enero 2015 a las 21:07

      [[$:/core/copyright.txt]shadowsource[]]

      $:/core/copyright.txt $:/plugins/tiddlywiki/railroad/parser.js +[shadowsource[]]

      ShadowTiddlers

       

      ShadowTiddlers are tiddlers that are loaded from Plugins at the wiki startup. Unlike ordinary tiddlers, they don't appear in most lists.

      Overriding Shadow Tiddlers to modify plugins

      A ShadowTiddler can be overridden with an ordinary tiddler of the same name. This leaves the shadow tiddler intact but the plugin will use the overriding tiddler in its place, effectively allowing users to modify the behaviour of plugins.

      Users are cautioned against overriding shadow tiddlers because if the shadow tiddler is changed in a plugin update, the overriding tiddler may no longer perform as intended. To remedy this, the overriding tiddler may be modified or deleted. If the overriding tiddler is deleted, then the plugin falls back to using the original shadow tiddler.

      Overridden Shadow Tiddlers

      Shadow Tiddlers

      A full list of shadow tiddlers can be found in the sidebar in the "More" -> "Shadows" tab

      Share Plugin

       28 diciembre 2020 a las 14:31

      Do not install this plugin unless you understand exactly what it does

      This experimental plugin provides tools to share tiddlers via URLs, comprising:

      • The ability to load a group of tiddlers from the browser location hash at startup
      • Wizard and templates to create URLs from group of tiddlers

      Compartir un TiddlyWiki en Dropbox

       17 abril 2016 a las 17:24

      Puedes trabajar en un TiddlyWiki en Dropbox y publicar una URL que cualquiera puede ver en vista de sólo lectura.

      1. Guarda el TiddlyWiki en tu carpeta de Dropbox
      2. Selecciona la opción de Dropbox Copiar enlace de Dropbox para tener una URL pública del archivo
        • En el sitio web de Dropbox se hace haciendo clic sobre el botón Compartir que aparece al pasar el ratón por encima del archivo. Además de obtener el enlace público al documento (cualquiera que tenga el enlace podrá verlo), puedes decidir limitar qué usuarios tienen acceso al documento, o ponerle caducidad al enlace. Dropbox también añade la opción de copiar el enlace público al menú contextual (clic con el botón derecho sobre el archivo) en sus ediciones de escritorio para OS X, Windows y Linux.
        La URL generada por Dropbox tiene este formato:
        https://www.dropbox.com/s/<blablablaincomprensible>/mi_archivo.html
      3. Cuidadosamente modifica la URL, conservando el blablablaincomprensible, así:
        https://dl.dropboxusercontent.com/s/<blablablaincomprensible>/mi_archivo.html

      El resultado es una URL "secreta" que puedes enviar a otros para que vean el documento.

      Nota: Si compartes la URL sin modificar, aquel que la reciba verá el archivo en la interfaz online de Dropbox, no verá el archivo abierto.


      Para ayudarte a modificar la URL pública de dropbox, cópiala aquí y así obtendrás la nueva URL secreta:

      https://dl.dropboxusercontent.com/s/<blablabla>/mi_archivo.html (abrir)

      Compartir Tiddlers con los demás

       12 abril 2016 a las 17:38

      Hay muchas formas de compartir tiddlers:

      • Puedes enviar un ~Tiddlywiki por mail.
      • Puedes publicarlo online y enviar un enlace...
        • a todo el archivo (URL del archivo),
        • a un tiddler específico (enlace que llamamos PermaLink),
        • a una serie concreta de tiddlers (que llamamos PermaView)
      • Puedes robar tiddlers de un TiddlyWiki que alguien haya publicado por ahí y, simplemente, importarlos al tuyo, arrastrándolos con el ratón:
        • Abre tu TiddlyWiki en el navegador, en otra pestaña o en una nueva ventana.
        • Busca un enlace al tiddler que te interesa
        • Haz clic con el botón izquierdo del ratón y mantenlo presionado
        • Arrastra el enlace a la ventana o pestaña en la que tienes tu TiddlyWIki hasta que aparezca una barra en la parte superior de la pantalla que indica que tu TiddlyWiki está listo para recibirlo.
        • Al soltar el botón, aparecerá un tiddler pidiéndote que confirmes la importación.*
      • Puedes compartirlo en Dropbox
      • Puedes exportar tiddlers a una gran variedad de formatos: HTML estático, CSV...

      Shiraz by Mohammad

       16 noviembre 2020 a las 21:06

      Shiraz plugin is a very small in size and framework to create stylish contents in Tiddlywiki.

      https://kookma.github.io/TW-Shiraz/

      Shiraz plugin contains extended markups, macros, styles, and many customisation to empty Tiddlywiki and can be used as a starter kit.

      Some of Shiraz features are:

      • Customized elements like, alerts, cards, panels, badges
      • Dynamic tables
      • Sortable tables
      • Display on demand, slider, and details
      • Images, basic image macros, slidein, and overlay images, polaroid and pretty images
      • Table customisation tools
      • Sticky footer
      • Multi columns tiddler
      • Multi column story river
      • List search
      • Badge status
      • Notebook style
      • Test utilities
      • Stylish buttons

      Adding Shiraz plugin to any Tiddlywiki converts it to a full production tool. Shiraz uses modified CSS classes from Bootstrap.

      sign Operator

       13 junio 2019 a las 9:50
      purposereturn -1, 0 or 1 for a list of numbers according to whether each number is negative, zero, or positive
      inputa selection of titles
      outputreplaces each input number with -1, 0 or 1 according to whether the number is negative, zero, or positive

      Learn more about how to use Filters

      sign Operator (Examples)

       13 junio 2019 a las 9:51

      [[1.6]sign[]]

      [[-1.6]sign[]]

      [[0]sign[]]

      Cómo firmar el Acuerdo de licencia

       13 abril 2016 a las 18:27

      Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.

      paso a paso

      1. Según seas persona física o fiscal, ve a
      2. Haz clic en el botón Edit arriba a la derecha (al hacerlo se creará un fork del repositorio para que puedas editar el archivo)
      3. Añade tu nombre al final del documento
        • P. Ej.: Jeremy Ruston, @Jermolene, 2011/11/22
      4. Bajo el cuadro de edición del documento, debieras ver otro más pequeño, con el título Propose file change
      5. Escribe un título que explique de qué cambio se trata (p. ej.: "signing the CLA")
      6. Haz clic en el botón verde que dice Propose file change
      7. En la página siguiente, haz clic en el botón verde que dice Create pull request

      Simple ways to write protect tiddlers

       6 noviembre 2021 a las 2:16

      Sometimes you want to protect individual tiddlers from accidental changes, either from yourself or guests to your TiddlyWiki file. Here's a couple simple approaches. Note that these do not provide hardened protection against a wilful attack.

      Using a stylesheet to lock tiddlers by tag name

      Create a tiddler with the following contents and tag it as $:/tags/Stylesheet :

      [data-tags*="Locked"] button[title="Edit this tiddler"]   {display: none;}

      If your TW language isn't English, then you'll need to change the text in 'title="...."' to whatever the text is when you hover over the edit button.

      Now any tiddler you tag as "Locked" will have the edit button hidden. To get it back you will need to open the stylesheet tiddler and change "none" to "inline".

      Using transclusion to hide your tiddler in a system tiddler

      • Open your tiddler for editing.
      • Select the title and copy.
      • Select all the tiddler text.
      • Click on the excise tool.
      • In the title box, type $:/ and then paste the original title.
      • Use the defaults to excise the text into a new tiddler and replace it with a transclusion

      Now you can view the contents of your original tiddler, but to edit them you will have to find the the tiddler with the $:/ prefix.

      "Simple Zork-like Game", de Jed Carty

       17 abril 2016 a las 11:11

      Juego sencillo, construido en TiddlyWiki, presentado en A simple game built with TiddlyWiki, presentado en este post.

      http://zorklike.tiddlyspot.com

      Quise ver si era posible hacer algún tipo de juego usando sólo el núcleo de TiddlyWiki, sin plugins ni JavaScript. Hice una versión muy esquemática de juego de ficción al estilo de Zork. Es lo más sencillo que se puede hacer y que se pueda llamar juego, pero puede que le añada cosas más adelante. Lo hice en la versión 5.1.5 prerelease, porque el widget action-setfield ahorra mucho tiempo de definir macros.

      Una de las finalidades es no usar nada más que lo que contiene el núcleo de TiddlyWiki, tal cual: sin usar JavaScript ni plugin alguno.

      sin Operator

       21 octubre 2021 a las 23:28
      purposecalculate the sine value of a list of angles (given in radians)
      inputa selection of titles
      outputthe sine of the input angles (numeric value between -1 and 1)

      Learn more about how to use Filters

      sin Operator (Examples)

       20 octubre 2021 a las 15:21

      [[2]sin[]]

      =1 =2 =3 =4 +[sin[]]

      Aplicación de archivo único

       29 abril 2016 a las 6:58

      Una aplicación de archivo único es una en la que todos sus recursos se presentan en un único archivo estático. Esto significa que puede descargarse y usarse offline sin perder funcionalidad. Del mismo modo puede alojarse en casi cualquier tipo de servidor web.

      TiddlyWiki es un caso particular de aplicación de archivo único porque guarda sus datos en sí mismo y es capaz, además, de guardar cambios en sí mismo, lo que también lo convierte en un curioso caso de quine con aplicaciones prácticas.

      Por definición, una aplicación de archivo único lo es también de página única, pero lo contrario no siempre es del todo cierto.

      Aplicación de página única

       29 abril 2016 a las 6:59

      Tal como lo define WIkipedia, una aplicación de página única es una que cabe en una sola página con el propósito de dar una experiencia más fluida a los usuarios, que carga dinámicamente contenido adicional a medida que el usuario navega por el sitio.

      Es frecuente que las aplicaciones de página única se diseñen cuidadosamente para ocultar su naturaleza, de modo que su apariencia y funcionamiento sea la de una página estática común, respetando la barra de dirección y los controles de navegación adelante y atrás.

      De manera inusual, TiddlyWiki es también una aplicación de archivo único.

      Slider by Mohammad

       17 noviembre 2020 a las 16:29

      Slider is a plugin to create an ordered set of tiddlers also called Trail.

      https://kookma.github.io/slider/

      A trail can be used to create a sequence of selected contents like step by step tutorial, guided help, lessons and similar.

      The slider plugin user interface contains three sections

      • A sidebar tab called Trails to manage trails
      • A dashboard for each trail (where trail structure is managed)
      • Tiddlers in a trail, also called slides

      SlotWidget

       11 mayo 2023 a las 13:39

      Introduction

      New in: 5.3.0 The $slot widget is used within transcluded content to mark "slots" that the transcluding widget can fill with the $fill widget.

      See the $transclude widget for details.

      Attributes

      The content of the $slot widget is used as a fallback for the slot content if the corresponding $fill widget is not found.

      AttributeDescription
      $nameThe name of the slot being defined
      $depthOptional number indicating how deep the $slot widget is compared to the matching $fill widget as measured by the number of nested transclude widgets (defaults to 1). Transclude widgets whose $fillignore attribute is set to yes are ignored, and do not affect the depth count

      Examples

      Quoted content

      When content contains quotes, passing it through attributes and parameters can be challenging. However, passing the content using the $fill widget content eliminates the need to wrap it in quotes, making the process easier.

      If a variable named bold_slot contains the following $slot definition:

      <b>
      <$slot $name="body"/>
      </b>
      

      then the slot can be filled using this variable transclusion:

      <$transclude $variable=bold_slot>
      <$fill $name=body>
      
      """
      some text
      using [[Hard Linebreaks in WikiText]]
      syntax
      """
      </$fill>
      </$transclude>
      

      Este es su aspecto:

      some text
      using Hard Linebreaks in WikiText
      syntax

      Depth

      If a variable named table_slot contains the following $slot definition:

      |!depth|!slot1|!slot2|
      |1|<$slot $name=slot1/>|<$slot $name=slot2/>|
      |2|<$slot $name=slot1 $depth=2>missing</$slot>|<$slot $name=slot2 $depth=2>missing</$slot>|
      

      then the slot values can be filled at different transclusion depths:

      <$transclude $variable=table_slot  $mode=block>
        <$fill $name=slot1>outer1</$fill>
        <$fill $name=slot2>outer2
          <$transclude $variable=table_slot $mode=block>
            <$fill $name=slot1>inner1</$fill>
            <$fill $name=slot2>inner2</$fill>
          </$transclude>
        </$fill>
      </$transclude>
      

      Este es su aspecto:

      depthslot1slot2
      1outer1outer2
      depthslot1slot2
      1inner1inner2
      2outer1outer2
      depthslot1slot2
      1inner1inner2
      2inner1inner2
      2missingmissing

      The slot1 slot is filled at both depths with a simple string (outer1 and outer2). For slot2, the outer instance is a simple string but the inner instance recursively transcludes the same table_slot variable again. The recursion ends at the third transclusion call since both "inner" slots are filled with simple strings.

      slugify Operator

       9 mayo 2020 a las 15:17
      purposereturns each item in the list in a human-readable form for use in URLs or filenames
      inputa selection of titles
      outputthe input titles transformed so that they only contain lower case letters, numbers, periods, dashes and underscores

      Learn more about how to use Filters

      New in: 5.1.23 The transformation applied by the slugify operator follows these steps:

      • If there is a tiddler with the same title that has a slug field, then return that field instead of running the following steps
      • Replace uppercase letters with lowercase equivalents
      • Transliterate diacritics to their basic lowercase ASCII equivalents (for example, "Æ" is transliterated to "AE")
      • Replace spaces with dashes
      • Remove all non-word characters except dashes and periods
      • Replace multiple sequential dashes with a single dash
      • Trim dashes from start and end
      • If the result is the empty string then character codes are used instead (eg. "&£@" transforms to "38-163-64")

      Note that it is possible for more than one title to slugify to the same string. The duplicateslugs can be used to alert authors to any clashes.

      Examples

      Varias de las muchas cosas que puedes hacer con TiddlyWiki

       5 junio 2016 a las 6:02
      • Tomar notas y usar etiquetas y enlaces para formar relaciones entre ellas
      • Organizarte usando pestañas, solapas, tablas, listas e índices
      • Organizar tus páginas web favoritas, como en este ejemplo
      • Llevar el control de tareas y reuniones y organizarlos con múltiples etiquetas (mira nuestro sencillo ejemplo de administrador de tareas
      • Hacer inventario de absolutamente todo: de tus recetas, tu biblioteca, tus contactos, tu colección de música ...etc.
      • Crear un blog o página web personal
      • Escribir un libro
      • Organizar tus imágenes en galerías (mira un sencillo ejemplo de hoja de contactos
      • Compartir con otros la información de tu TiddlyWiki, bien como archivo publicado online, como adjunto en un correo, como documento de tiddler individual o como enlace a un tiddler específico publicado online. Intenta arrastrar un tiddler de un TiddlyWiki a otro y verás qué ocurre)
      • Bocetar sobre una imagen (edita Motovun Jack.jpg y dibuja con el ratón sobre la imagen para ver qué pasa)
      • Usar elementos web habituales, como las llamadas lightboxes. (MIra un ejemplo pulsando el botón que aparece en SampleWizard)
      • Crear una presentación de diapositivas
      • Preparar toda una base de conocimientos, local u online con un archivo TiddlyWiki que enlace a otros. Aquí hay un ejemplo en castellano
      • Preparar una presentación visual de datos, usando tiddlers como fuente de datos. Un buen ejemplo lo tienes en esta página

      Sort Filter Run Prefix

       22 mayo 2021 a las 17:26

      New in: 5.2.0

      purposesort the input titles by the result of evaluating this filter run for each item
      inputall titles from previous filter runs
      suffixthe :sort filter run prefix uses a rich suffix, see below for details
      outputthe sorted result of previous filter runs

      Each input title from previous runs is passed to this run in turn. The filter run transforms the input titles into the form needed for sorting. For example, the filter run [length[]] transforms each input title in to the number representing its length, and thus sorts the input titles according to their length.

      Note that within the filter run, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits filter runs like :sort:number[{!!value}divide{!!cost}] to be used for computation. The value of currentTiddler outside the run is available in the variable "..currentTiddler".

      The :sort filter run prefix uses an extended syntax that allows for multiple suffixes, some of which are required:

      :sort:<type>:<flaglist>[...filter run...]
      
      • type: Required. Determines how the items are compared and can be any of: string, alphanumeric, number, integer, version or date.
      • flaglist: comma separated list of the following flags:
        • casesensitive or caseinsensitive (required for types string and alphanumeric).
        • reverse to invert the order of the filter run (optional).

      Note that filter runs used with the :sort prefix should return the same number of items that they are passed. Any missing entries will be treated as zero or the empty string. In particular, when retrieving the value of a field with the get Operator it is helpful to guard against a missing field value using the else Operator. For example [get[myfield]else[default-value]....

      Examples

      Sort Filter Run Prefix (Examples)

       28 abril 2021 a las 9:57

      Sort by title length:

      [all[tiddlers]] :sort:number[length[]] +[limit[10]]

      Sort by title length reversed:

      [all[tiddlers]] :sort:number:reverse[length[]] +[limit[10]]

      Sort by text length:

      [all[tiddlers]] :sort:number[get[text]length[]] +[limit[10]]

      Sort by newest of modified dates:

      [tag[Field Operators]] :sort:date[get[modified]else[19700101]] +[limit[10]]

      Sort by title:

      [tag[Field Operators]] :sort:string:casesensitive[get[caption]] +[limit[10]]

      Sort by title in reverse order:

      [tag[Field Operators]] :sort:string:casesensitive,reverse[get[caption]] +[limit[10]]

      Sort as text with case sensitivity:

      Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange :sort:string:casesensitive[{!!title}]

      Sort as text ignoring case:

      Apple Banana Orange Grapefruit guava DragonFruit Kiwi apple orange :sort:string:caseinsensitive[{!!title}]

      sort Operator

       3 febrero 2015 a las 19:12
      purposesort the input by text field
      inputa selection of titles
      parameterF = the name of a field, defaulting to title
      outputthe input, sorted into ascending order by field F, treating field values as text
      ! outputthe input, likewise sorted into descending order

      Learn more about how to use Filters

      The difference between capital and lowercase letters is ignored. Compare sortcs.

      Examples

      sort Operator (Examples)

       24 enero 2015 a las 11:32

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]sort[]]

      [list[Days of the Week]!sort[]]

      one two Three four +[sort[]]

      [prefix[Tiddl]sort[text]]

      [has[created]sort[created]limit[10]]
      → the oldest 10 tiddlers in the wiki

      sortan Operator

       23 febrero 2018 a las 1:25
      purposesort the input by text field considering them as alphanumerics
      inputa selection of titles
      parameterF = the name of a field, defaulting to title
      outputthe input, sorted into ascending order by field F, treating field values as alphanumerics
      ! outputthe input, likewise sorted into descending order

      Learn more about how to use Filters

      The difference between uppercase and lowercase letters is ignored.

      Examples

      sortan Operator (Examples)

       27 febrero 2022 a las 21:09

      These examples make use of the Apple tiddler.


      Try the following example with sort instead of sortan

      [list[Apple]sortan[]]

      [list[Apple]!sortan[]]

      App-10-A App-9-B App-10-B App-9-A +[sortan[]]

      sortby Operator

       8 noviembre 2015 a las 5:21
      purposesort the current list in the order of the list referenced in the operand
      inputa list of items
      parameterorder = a list specifying the order in which to sort the current list
      outputall items sorted by lookup list

      Learn more about how to use Filters

      sortby Operator (Examples)

       8 noviembre 2015 a las 5:21

      These examples make use of the Days of the Week tiddler.

      10 6 4 9 3 2 8 +[sortby[1 2 3 4 5 6 7 8 9 10]]

      Friday Tuesday Monday Thursday Sunday +[sortby{Days of the Week!!list}]

      1 Mon 5 Fri 4 Tue Sun 2 +[sortby{Days of the Week!!short}]

      sortcs Operator

       17 abril 2015 a las 13:57
      purposesort the input by text field, treating upper and lower case as different
      inputa selection of titles
      parameterF = the name of a field, defaulting to title
      outputthe input, sorted into ascending order by field F, treating field values as text
      ! outputthe input, likewise sorted into descending order

      Learn more about how to use Filters

      Capital and lowercase letters are treated as different. Compare sort.

      Examples

      sortcs Operator (Examples)

       24 enero 2015 a las 11:33

      These examples make use of the Days of the Week tiddler.

      one two Three four +[sortcs[]]

      one two Three four +[!sortcs[]]

      sortsub Operator

       22 mayo 2021 a las 17:25
      purposesort the input by the result of evaluating a subfilter for each item
      inputa selection of titles
      suffixT = the type used for the comparison (string, number, integer, date, version), defaulting to string
      parameterS = a subfilter to be evaluated
      outputthe input, sorted into ascending order by the result of evaluating subfilter S
      ! outputthe input, sorted into reverse order by the result of evaluating subfilter S

      Learn more about how to use Filters

      Each item in the list of input titles is passed to the subfilter in turn. The subfilter transforms the input titles into the form needed for sorting. For example, the subfilter [length[]] transforms each input title in the number representing its length, and thus sorts the input titles according to their length.

      Note that within the subfilter, the "currentTiddler" variable is set to the title of the tiddler being processed. This permits subfilters like [{!!value}divide{!!cost}] to be used for computation.

      The value of currentTiddler outside the subfilter is available in the variable "..currentTiddler". New in: 5.2.0

      The suffix T determines how the items are compared and can be:

      • "string" (the default)
      • "number" - invalid numbers are interpreted as zero
      • "integer" - invalid integers are interpreted as zero
      • "date" - invalid dates are interpreted as 1st January 1970
      • "version" - invalid versions are interpreted as "v0.0.0"
      • "alphanumeric" - treat items as alphanumerics New in: 5.2.0

      Note that subfilters should return the same number of items that they are passed. Any missing entries will be treated as zero or the empty string. In particular, when retrieving the value of a field with the get Operator it is helpful to guard against a missing field value using the else Operator. For example [get[myfield]else[default-value]....

      Examples

      sortsub Operator (Examples)

       18 noviembre 2020 a las 10:33

      These examples make use of the following variables:

      • compare-by-title-length: [length[]]
      • compare-by-text-length: [get[text]else[]length[]]
      • compare-by-newest-of-modified-and-created-dates: [get[modified]else[19700101]]

      [sortsub:number<compare-by-title-length>limit[10]]

      [!sortsub:number<compare-by-title-length>limit[10]]

      [sortsub:number<compare-by-text-length>limit[10]]

      [!sortsub:number<compare-by-text-length>limit[10]]

      [tag[Field Operators]sortsub:date<compare-by-newest-of-modified-and-created-dates>]

      You can use the search-replace Operator in combination with the sortsub Operator to ignore stop words like "A" and "The" at the beginning of titles when sorting. (Note for example that "A Tale of Two Cities" sorts under "T" rather than "A")

      [enlist<book-list>sortsub<compare-without-stopwords>]

      You can also customise the listing so that "A Tale of Two Cities" is listed as "Tale of Two Cities, A" but still links to the correct tiddler.

      <ul>
      <$list filter="[enlist<book-list>sortsub<compare-without-stopwords>]">
      <li><$link><$text text={{{[<currentTiddler>search-replace:i:regexp[(^The |A )(.*)],[$2, $1]]}}}/></$link></li>
      </$list>
      </ul>

      Este es su aspecto:

      Ortografía

       18 abril 2016 a las 17:23

      Al ser de origen británico, TiddlyWiki prefiere, para su documentación en inglés, el uso ortográfico británico frente al americano .

      Por ese motivo, palabras como "colour" siguen la norma británica, salvo en aquellos casos en que por motivos técnicos es obligado el uso de la norma americana (p.ej., código en CSS o JavaScript).

      En esta edición en castellano, nos remitimos al uso ortográfico y estilístico peninsular, a la vez que invitamos a los usuarios hispanohablantes del resto de países a contribuir con este proyecto aportando el material que consideren necesario para que TiddlyWiki y su documentación se adapte a la rica variedad de dialectos de nuestra lengua.

      Fuera de eso, los acrónimos técnicos estándar se escriben en mayúscula y sin puntos: "HTML"

      Conviene evitar abreviar arbitrariamente palabras y frases, aunque las siguientes son aceptables:

      AbreviaturaSignificadoObservaciones
      p.ej.por ejemplopunto detrás de cada letra, aunque le sigan coma o dos puntos
      i.e.esto es, es decir,punto detrás de cada letra
      ...etcetcéterapuntos suspensivos delante y sin punto detrás

      split Operator

       13 junio 2019 a las 16:45
      purposereturns each item in the list split into separate strings according to the specified separator S; duplicates are not removed
      inputa selection of titles
      parameterS = The substring at which to split each title
      outputthe input titles split into separate items according to the specified separator S

      Learn more about how to use Filters

      New in: 5.1.20

      Note that in some circumstances the split operator will include blank items in the list of results. For example,

      [[the band thethe are the best the]split[the]]

      The following results are returned:

      ["", " band ", "", " are ", " best ", ""]

      Where it might be expected that the results would be:

      [" band ", " are ", " best "]

      The blank items mark the boundaries between matches. If they are not required they can be removed with the blank category of the is Operator: [[the band thethe are the best the]split[the]!is[blank]].

      The reason that the blank items can be useful is that they allow search and replace operations to be constructed from a combination of the split Operator or splitregexp Operator and the join Operator. For example:

      [[the band thethe are the best the]split[the]join[every]]

      Examples

      split Operator (Examples)

       13 junio 2019 a las 16:44

      [[a b c d e]split[ ]]

      [[Mississippi]split[i]]

      splitbefore Operator

       21 febrero 2015 a las 19:37
      purposeselect a delimited prefix from each input title
      inputa selection of titles
      parameterS = a string of characters marking the end of the prefix
      outputthe prefix, up to and including S, of each input title

      Learn more about how to use Filters

      Each input title is processed in turn.

      • A title that contains S contributes everything up to and including S.
      • A title that doesn't contain S simply contributes itself to the output.

      Contributions are dominantly appended to the output.

      The table-of-contents macros use this operator with / as the parameter.

      Examples

      splitbefore Operator (Examples)

       26 enero 2015 a las 14:39

      2015-01-26 2014-07-19 2013 +[splitbefore[-]]
      [[green trees]splitbefore[ee]]

      splitregexp Operator

       13 junio 2019 a las 16:49
      purposereturns each item in the list split into separate strings according to the specified regular expression R
      inputa selection of titles
      suffixflags: m for multiline mode, i for case-insensitive mode
      parameterR = The regular expression at which to split each title
      outputthe input titles split into separate items according to the specified regular expression R

      Learn more about how to use Filters

      New in: 5.1.20

      Note that in some circumstances the splitregexp operator will include blank items in the list of results. For example,

      [[the band thethe are the best the]splitregexp[the]]

      The following results are returned:

      ["", " band ", "", " are ", " best ", ""]

      Where it might be expected that the results would be:

      [" band ", " are ", " best "]

      The blank items mark the boundaries between matches. If they are not required they can be removed with the blank category of the is Operator: [[the band thethe are the best the]splitregexp[the]!is[blank]].

      The reason that the blank items can be useful is that they allow search and replace operations to be constructed from a combination of the split Operator or splitregexp Operator and the join Operator. For example:

      [[nobody, really; wants; to see -- all this \punctuation]splitregexp[,|;|-|\\]join[...]]

      Syntax errors in the regular expression will cause the filter to return an error message. For example:

      [[the cat sat on the mat]splitregexp[\]]

      Examples

      splitregexp Operator (Examples)

       13 junio 2019 a las 16:50

      a=b-c=d-e +[splitregexp[=|-]]

      standard-deviation Operator

       26 abril 2021 a las 14:15
      purposetreating each input title as a number, compute their standard-deviation
      inputa selection of titles
      outputthe standard-deviation of the input as numbers

      Learn more about how to use Filters

      New in: 5.2.0 See Mathematics Operators for an overview.

      The standard-deviation operator treats the input as a complete population and not a sample

      Examples

      standard-deviation Operator (Examples)

       26 abril 2021 a las 14:15

      =1 =3 =4 =5 +[standard-deviation[]]

      Note that if there is no input the operator returns NaN

      [title[NotATiddler]get[price]] +[standard-deviation[]]

      Stanford JavaScript Crypto Library

       25 junio 2015 a las :54

      The Stanford Javascript Crypto Library is a project by the Stanford Computer Security Lab to build a secure, powerful, fast, small, easy-to-use, cross-browser library for cryptography in Javascript.

      http://bitwiseshiftleft.github.io/sjcl/

      StartupActions

       25 octubre 2020 a las 16:17

      TiddlyWiki executes any ActionWidgets found in tiddlers with the following system tags during startup:

      • Executed during initial startup:
        • (executed on all platforms)
        • (only executed when running in the browser)
        • (only executed when running under Node.js)
      • Executed after startup rendering:
        • New in: 5.1.23 (only executed when running in the browser)

      Initial Startup Actions

      The initial startup actions are useful for customising TiddlyWiki according to environmental factors such as the screen size. For example, the following action widgets when placed in a tiddler tagged $:/tags/StartupAction/Browser will cause the sidebar to be hidden by default when the screen width is less than 1000 pixels:

      <$reveal type="lt" state="$:/info/browser/screen/width" text="3000">
      <$action-setfield $tiddler="$:/state/sidebar" $value="no"/>
      </$reveal>
      
      <$reveal type="gteq" state="$:/info/browser/screen/width" text="3000">
      <$action-setfield $tiddler="$:/state/sidebar" $value="yes"/>
      </$reveal>

      New in: 5.1.20 This example switches to the language plugin matching the language reported by the browser:

      <$action-setfield $tiddler="$:/language" text={{{ [[$:/languages/en-GB]] [plugin-type[language]sort[description]removeprefix[$:/languages/]] +[prefix{$:/info/browser/language}] ~[[en-GB]] +[addprefix[$:/languages/]] }}}/>

      Note that global macros are not available within initial startup action tiddlers by default. If you need to access them then you'll need to explicitly include them with an Pragma: \import at the top of the tiddler:

      \import [subfilter{$:/core/config/GlobalImportFilter}]

      Post-Render Startup Actions

      New in: 5.1.23 Post-render startup actions occur after the TiddlyWiki user interface has been rendered. This makes it possible to perform actions that depend on the rendered display (such as displaying modals).

      StateMechanism

       27 noviembre 2021 a las 3:39

      The StateMechanism in TiddlyWiki is at the heart of how complex user interfaces can be built from WikiText.

      In the browser, the TiddlyWiki display is produced by dynamically rendering the tiddler $:/core/ui/PageTemplate. Through various transclusions and other widgets it renders the entire user interface. The dynamic rendering is accomplished by a mechanism called "binding": any changes to the tiddlers in the store are dynamically reflected in the browser display.

      The stack of templates that make up the TiddlyWiki display are complex but we'll focus on the line that displays the main story column:

      <$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template="$:/core/ui/ViewTemplate" editTemplate="$:/core/ui/EditTemplate" storyview={{$:/view}} />

      Breaking down the attributes applied to the list widget:

      • filter: selects the list of tiddlers in the list field of the tiddler $:/StoryList. If a tiddler is added or removed from that list then it is automatically reflected in the displayed list
      • history: references the tiddler to be used to store the history stack (see the HistoryMechanism)
      • template: identifies a template tiddler to be used for rendering each tiddler in the list
      • editTemplate: identifies a different template tiddler to be used for rendering tiddlers that are in draft mode
      • storyview: specifies the story view to be used (eg classic, or zoomin)

      The $:/StoryList tiddler is an example of a StateTiddler: a tiddler that is used to hold the state of the user interface. Changes to the user interface are made indirectly, by changing the underlying state tiddlers, and letting TiddlyWiki ripple the changes through the user interface.

      Note how this approach makes the open tab in the sidebar very easy to implement: it is just another list widget referencing the same state tiddler, but with a different template:

      <$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
      <$button message="tm-close-tiddler" class="tc-btn-invisible tc-btn-mini">&times;</$button> <$link/>
      </$list>

      Now consider the implementation of the info panel within the tiddler template. We want to be able to toggle the info panel open and closed, which means that we must track its current state in a tiddler.

      However, we can't track the state in a tiddler called, say, $:/InfoPanelState because every tiddler would share the same state; changing the value of the tiddler would affect all tiddlers displayed in the story.

      The solution is to dynamically generate a unique title for each state tiddler that we need. We need to ensure that the same state tiddler title is generated each time a user interface element is rendered. To do that, we append together tokens representing each of the stack of transclusions that led to the current rendering location. Then that string of symbols is hashed to a simple numeric value.

      The process of generating a state tiddler title is encapsulated in the qualify macro.

      Story River

       17 septiembre 2015 a las 20:40

      The "story river" (sometimes abbreviated to "story") is the sequence of tiddlers in the main column of the display.

      Story Tiddler Template

       6 diciembre 2021 a las 13:37

      "Story tiddler template" refers to the template used to display a tiddler within the story river.

      The core story tiddler template can be found in $:/core/ui/StoryTiddlerTemplate

      The Story Tiddler Template Cascade is used to choose the template to be used for a particular tiddler. By default, the edit template is used for tiddlers in draft mode, and the view template used otherwise.

      See also:

      Story Tiddler Template Cascade

       6 diciembre 2021 a las 15:58

      The story tiddler template cascade is a cascade used to choose which Story Tiddler Template should be used for a particular tiddler.

      The default story tiddler template cascade consists of:

      1. If the tiddler is a draft tiddler, use the template title given in the tiddler $:/config/ui/EditTemplate
      2. Otherwise, use the template title given in the tiddler $:/config/ui/ViewTemplate

      You can see the current settings for the story tiddler template cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> Story Tiddler tab.

      storyTiddler Variable

       21 febrero 2015 a las 22:25

      When a tiddler is viewed or edited, then within its branch of the widget tree, the storyTiddler variable contains the title of that tiddler.

      The default view template and edit template initialise storyTiddler to the value of the currentTiddler variable. This in turn will have been set by a $list widget in the relevant part of the page template.

      storyTiddler is undefined outside the story river, such as in the sidebar.

      Examples

      storyTiddler Variable (Examples)

       21 febrero 2015 a las 14:14

      <ol>
      <$list filter="[prefix[J]]">
      <li><<currentTiddler>>, <<storyTiddler>></li>
      </$list>
      </ol>

      storyviews Operator

       3 febrero 2015 a las 19:14
      purposeselect the names of all the story views
      inputignored
      parameternone
      outputthe name of each story view

      Learn more about how to use Filters

      The names are those exported by modules whose module-type is storyview.

      Examples

      storyviews Operator (Examples)

       26 enero 2015 a las 14:21

      [storyviews[]]

      stringify Operator

       19 septiembre 2023 a las 14:08
      purposeapply JavaScript string encoding to a string
      inputa selection of titles
      suffixR = New in: 5.1.23 optionally, the keyword rawunicode
      outputthe input with JavaScript string encodings applied

      Learn more about how to use Filters

      New in: 5.1.14

      The following substitutions are made:

      CharacterReplacementCondition
      \\\Always
      "\"Always
      Carriage return (0x0d)\rAlways
      Line feed (0x0a)\nAlways
      Backspace (0x08)\bAlways
      Form field (0x0c)\fAlways
      Tab (0x09)\tAlways
      Characters from 0x00 to 0x1f\x## where ## is two hex digitsAlways
      Characters from 0x80 to 0xffff\u#### where #### is four hex digitsIf rawunicode suffix is not present (default)
      Characters from 0x80 to 0xffff New in: 5.1.23 UnchangedIf rawunicode suffix is present

      New in: 5.1.23 If the suffix rawunicode is present, Unicode characters above 0x80 (such as ß, ä, ñ or 🎄) will be passed through unchanged. Without the suffix, they will be substituted with \u codes, which was the default behavior before 5.1.23.

      Note
      Characters outside the Basic Multilingual Plane, such as 🎄 and other emojis, will be encoded as a UTF-16 surrogate pair, i.e. with two \u sequences.

      jsonstringify is considered deprecated, as it duplicates the functionality of stringify.

      Examples

      stringify Operator (Examples)

       19 septiembre 2023 a las 13:40

      [[Title with "double quotes" and single ' and \backslash]] +[stringify[]]

      [[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 without suffix]] +[stringify[]]

      [[Accents and emojis -> äñøßπ ⌛🎄🍪🍓 with rawunicode suffix]] +[stringify:rawunicode[]]

      Estructurar TiddlyWiki

       22 abril 2016 a las 21:54

      TiddlyWiki5 proporciona varias herramientas útiles para estructurar información en forma de tiddlers y estructurar las diferentes relaciones que se establecen entre ellos:

      Styles and Classes in WikiText

       26 julio 2023 a las 11:57

      CSS styles and classes can be applied to inline or block content wrapped in @@double at signs@@. Classes can be applied to certain block WikiText elements.

      Inline content wrapped in @@double at signs@@ without specifying style or class will be assigned the tc-inline-style class and displayed as highlighted text. The foreground and background colours of the highlighted text are defined as highlight-background and highlight-foreground in the current palette.

      @@Highlighted text@@

      Tiene este aspecto:

      Highlighted text

      ... y su código HTML es:

      <p><span class="tc-inline-style">Highlighted text</span></p>

      Styles

      Multiple style attributes, e.g. color, each followed by ; semicolon can be introduced immediately after the opening @@, without spaces in between.

      @@color:steelblue;background-color:lightcyan;Text with custom style@@

      Tiene este aspecto:

      Text with custom style

      ... y su código HTML es:

      <p><span style="color:steelblue;background-color:lightcyan;">Text with custom style</span></p>

      Similarly, styles can be applied to block content. Wrapping block content in @@ without specifying style or class has no effect.

      @@background-color:lightcyan;
      * Item one
      * Item two
      @@
      

      Tiene este aspecto:

      • Item one
      • Item two

      ... y su código HTML es:

      <ul style="background-color:lightcyan;"><li>Item one</li><li>Item two</li></ul>

      Classes

      The following coloured-text and coloured-bg classes are defined in this tiddler for demonstration purposes:

      .coloured-text {color: darkkhaki;}
      .coloured-bg {background-color: cornsilk;}

      Multiple classes, each prefixed with ., can be introduced immediately after the opening @@, followed by a space. This works both for inline and block content:

      @@.coloured-text.coloured-bg Inline content with two assigned classes@@

      Tiene este aspecto:

      Inline content with two assigned classes

      ... y su código HTML es:

      <p><span class=" coloured-text coloured-bg ">Inline content with two assigned classes</span></p>
      @@.coloured-bg
      * Block content
      * With one assigned class
      @@

      Tiene este aspecto:

      • Block content
      • With one assigned class

      ... y su código HTML es:

      <ul class="coloured-bg"><li>Block content</li><li>With one assigned class</li></ul>

      Multiple classes and styles can be applied simultaneously. In case of inline content, the styles have to be defined first, followed by the classes.

      @@font-size:1.5em;.coloured-text.coloured-bg Text with custom style and classes@@

      Tiene este aspecto:

      Text with custom style and classes

      ... y su código HTML es:

      <p><span class=" coloured-text coloured-bg " style="font-size:1.5em;">Text with custom style and classes</span></p>

      In case of block content, the styles and classes can be defined in a single line after the opening @@ identically as for the inline content, or in separate lines, each beginning with @@:

      @@font-size:1.5em;
      @@.coloured-text
      @@.coloured-bg
      * Block content
      * With custom style and classes
      @@

      Tiene este aspecto:

      • Block content
      • With custom style and classes

      ... y su código HTML es:

      <ul class="coloured-text coloured-bg" style="font-size:1.5em;"><li>Block content</li><li>With custom style and classes</li></ul>

      In a similar way classes, but not styles, can be applied to those block WikiText elements that are introduced through characters on the beginning of the line. The classes prefixed with . are specified immediately after the special characters, followed by a space.

      !!!.coloured-bg Heading with a custom background class.
      
      * Standard list element.
      *.coloured-bg List element with a custom background colour class.
      *.coloured-text List element with  a custom text colour class.
      *.coloured-bg.coloured-text List element with both of the custom classes.
      

      Tiene este aspecto:

      Heading with a custom background class.

      • Standard list element.
      • List element with a custom background colour class.
      • List element with a custom text colour class.
      • List element with both of the custom classes.

      ... y su código HTML es:

      <h3 class="coloured-bg">Heading with a custom background class.</h3><ul><li>Standard list element.</li><li class="coloured-bg">List element with a custom background colour class.</li><li class="coloured-text">List element with  a custom text colour class.</li><li class="coloured-bg coloured-text">List element with both of the custom classes.</li></ul>

      Stylesheet Macros

       21 febrero 2015 a las 22:39

      The following core macros make it easy to specify alternative browser-specific properties when constructing a stylesheet tiddler:

      <<box-shadow shadow>>
      for the x-box-shadow properties
      <<filter filter>>
      for the x-filter properties
      <<transition transition>>
      for the x-transition properties
      <<transform-origin origin>>
      for the x-transition-origin properties
      <<background-linear-gradient gradient>>
      for the x-linear-gradient values of the background-image property

      The following macros are documented separately:

      All these macros are defined in the $:/core/macros/CSS tiddler.

      subfilter Operator

       17 diciembre 2021 a las 13:57
      purposeselect titles from the operand interpreted as a filter expression
      inputa selection of titles passed as input to the subfilter
      ! inputa selection of titles passed as input to the subfilter
      parameterS = a filter expression
      outputthe selection of titles returned from the subfilter S
      ! outputthose input titles that are not returned from the subfilter S

      Learn more about how to use Filters

      New in: 5.1.18 Note that the subfilter operator was introduced in version 5.1.18 and is not available in earlier versions.

      Literal filter operands cannot contain square brackets but you can work around the issue by using a variable:

      <$set name="myFilter" value="[tag[one]]">
      <$list filter="[all[tiddlers]subfilter<myFilter>]">
      ...

      Compare with the similar filter operator which runs a subfilter against each title, returning those titles that return a non-empty list (and discards the results of the subfilter)

      The subfilter operator will act as a constructor whenever the filter defined by its operand is a constructor. Otherwise, it will act as a modifier.

      Examples

      subfilter Operator (Examples)

       30 octubre 2021 a las 23:34

      Literal filter operands can be used, but such cases are better rewritten without using subfilter:

      [subfilter[one two three]addsuffix[!]]
      → same as one two three +[addsuffix[!]]

      The subfilter operator can be used to dynamically define parts of a filter run. This is useful for sharing a common pieces of a filter across multiple filters.

      For example, this variable:

      • recent-mods: [has[modified]!sort[modified]limit[5]]

      can be used in one filter like this:

      [tag[Filter Operators]subfilter<recent-mods>addsuffix[!]]
      → same as [tag[Filter Operators]has[modified]!sort[modified]limit[5]addsuffix[!]]

      and in another similar filter like this:

      [tag[ActionWidgets]subfilter<recent-mods>addprefix[!]]

      Variables are not the only way to define dynamic subfilters. Text references can be used to load a subfilter from a tiddler field (see also Filter Parameter):

      [subfilter{$:/StoryList!!list}limit[5]]
      [subfilter{$:/StoryList!!list}subfilter<recent-mods>]

      substitute Operator

       15 junio 2023 a las 18:30
      purposereturns each item in the list, replacing within each title placeholders for filters, parameters and variables with their corresponding values
      inputa selection of titles
      parameterthe substitute operator optionally accepts a variable number of parameters, see below for details
      outputthe input titles with placeholders for filter expressions, parameter and variables replaced with their corresponding values

      Learn more about how to use Filters

      New in: 5.3.0

      The substitute operator replaces any placeholders in the input titles in the following order:

      1. filter expressions
      2. parameters to the substitute operator
      3. variables
      placeholder syntaxdescription
      $n$Text substitution of a parameter provided to the operator, where n is the position of the parameter starting with 1 for the first parameter. Unmatched placeholders pass through unchanged.
      $(varname)$Text substitution of a variable. Undefined variables are replaced with an empty string.
      ${ filter expression }$Text substitution of the first result of evaluating a filter expression. In other words, if the filter returns multiple titles only the first one will be used.

      Placeholders that contain square bracket characters are not valid filter syntax when used directly in a filter expression. However they can be provided as input to the substitute operator as text references or variables

      Examples

      substitute Operator (Examples)

       15 junio 2023 a las :34

      Substitute substitute[] operator parameters

      [[Hi, I'm $1$ and I live in $2$]substitute[Bugs Bunny],[Rabbit Hole Hill]]

      Substitute variables

      This example uses the following variables:

      • name:
        Bugs Bunny
      • address:
        Rabbit Hole Hill

      [[Hi, I'm $(name)$ and I live in $(address)$]substitute[]]

      Substitute variables and operator parameters

      This example uses the following variable:

      • time:
        morning

      [[Something in the $(time)$ at $2$ about $1$ ]substitute[Maths],[the Library]]

      Substitute a filter expression and a variable

      This example uses the following variables:

      • field:
        modified
      • sentence:
        This tiddler was last $(field)$ on ${[{!!modified}format:date[DDth MMM YYYY]]}$

      [<sentence>substitute[]]

      Substituted Attribute Values

       15 junio 2023 a las 18:30

      New in: 5.3.0

      Substituted attribute values can use two different styles of quoting:

      • Single backticks
        attr=`value`
      • Triple backticks
        attr=```value```

      The value of the attribute will be the text denoted by the backticks with any of the placeholders for filter expressions and variables substituted with their corresponding values. Filter expression placeholders are substituted before variable placeholders, allowing for further variable substitution in their returned value.

      Any other wiki syntax in that text will be left as-is.

      placeholder syntaxdescription
      $(varname)$Text substitution of a variable. Undefined variables are replaced with an empty string.
      ${ filter expression }$Text substitution with the first result of evaluating the filter expression.

      Examples

      Substituting a variable value into a string

      <$text text=`Hello there this is the tiddler "Substituted Attribute Values"`/>

      Este es su aspecto:

      Hello there this is the tiddler "Substituted Attribute Values"

      Substituting a variable value and the result of evaluating a filter expression into a string

      <$text text=`This tiddler is titled "Substituted Attribute Values" and was last modified on ${[{!!modified}format:date[DDth MMM YYYY]]}$`/>

      Este es su aspecto:

      This tiddler is titled "Substituted Attribute Values" and was last modified on 15 junio 2023

      Concatenating strings and variables to create a URL

      
      <$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
      <a href=`http://tiddlywiki.com/#`>this tiddler on tiddlywiki.com</a>
      </$let>

      Este es su aspecto:

      this tiddler on tiddlywiki.com

      Concatenating variables and a text reference to create a URL

      
      <$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
      <a href=`${ [{!!base-url}] }$#`>this tiddler on tiddlywiki.com</a>
      </$let>

      Este es su aspecto:

      this tiddler on tiddlywiki.com

      subtiddlerfields Operator

       3 abril 2018 a las 17:46
      purposeselect all fields present in the selected tiddlers within a plugin
      inputa selection of tiddler titles
      parameterP = the title of a plugin
      outputall field names present in the selected tiddlers within the plugin named P

      Learn more about how to use Filters

      subtiddlerfields Operator (Examples)

       3 abril 2018 a las 17:42

      [[$:/core/copyright.txt]subtiddlerfields[$:/core]]

      subtract Operator

       11 junio 2019 a las 13:56
      purposetreating each input title as a number, subtract from each the numeric value of the operand
      inputa selection of titles
      parameterN = a number
      outputthe input as numbers, but with N subtracted from each one

      Learn more about how to use Filters

      subtract Operator (Examples)

       11 junio 2019 a las 13:56

      [[23]subtract[19]]

      =1 =2 =3 =4 +[subtract[4]]

      suffix Operator

       18 febrero 2022 a las 2:34
      purposefilter the input titles by how they end
      inputa selection of titles
      suffixthe suffix operator uses a rich suffix, see below for details
      parameterS = a string of characters
      outputthose input titles that end with S
      ! outputthose input tiddlers that do not end with S

      Learn more about how to use Filters

      New in: 5.2.2

      The suffix operator uses an extended syntax that permits multiple flags to be passed:

      [suffix:<flag list>[<operand>]]
      • flag list: a comma delimited list of flags
      • operand: filter operand

      The available flags are:

      • casesensitive: (default), this flag forces a case-sensitive match, where upper and lower case letters are considered different
      • caseinsensitive: overrides the default so that upper and lower case letters are considered identical for matching purposes

      Examples

      suffix Operator (Examples)

       18 febrero 2022 a las 2:34

      [suffix[.jpg]]

      [suffix:caseinsensitive[.JPG]]

      [tag[task]!suffix[ing]]

      sum Operator

       11 junio 2019 a las 16:59
      purposeproduce the sum of the input numbers
      inputa selection of titles
      outputthe result of adding together the input as numbers

      Learn more about how to use Filters

      sum Operator (Examples)

       11 junio 2019 a las 17:01

      =1 =2 =3 =4 =5 +[sum[]]

      [tag[HelloThere]get[text]length[]sum[]]

      Sunday

       16 noviembre 2021 a las 22:07

      This example tiddler is used to illustrate some of the Filter Operators.

      SystemTag: $:/tags/AboveStory

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/AboveStory marks elements to be placed at the top of the story river

      The following tiddlers are tagged with $:/tags/AboveStory

      caption
      $:/core/ui/AboveStory/tw2-plugin-check $:/core/ui/AboveStory/tw2-plugin-check

      SystemTag: $:/tags/AdvancedSearch

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/AdvancedSearch marks search elements

      The following tiddlers are tagged with $:/tags/AdvancedSearch

      caption
      $:/core/ui/AdvancedSearch/Filter Filtro
      $:/core/ui/AdvancedSearch/Shadows Ocultos
      $:/core/ui/AdvancedSearch/Standard Estándar
      $:/core/ui/AdvancedSearch/System Sistema

      SystemTag: $:/tags/AdvancedSearch/FilterButton

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/AdvancedSearch/FilterButton marks filter buttons

      The following tiddlers are tagged with $:/tags/AdvancedSearch/FilterButton

      caption
      $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear $:/core/ui/AdvancedSearch/Filter/FilterButtons/clear
      $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete $:/core/ui/AdvancedSearch/Filter/FilterButtons/delete
      $:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown $:/core/ui/AdvancedSearch/Filter/FilterButtons/dropdown
      $:/core/ui/AdvancedSearch/Filter/FilterButtons/export $:/core/ui/AdvancedSearch/Filter/FilterButtons/export

      SystemTag: $:/tags/Alert

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Alert marks alerts

      (No tiddlers are currently tagged with $:/tags/Alert )

      SystemTag: $:/tags/BelowStory

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/BelowStory marks elements to be placed at the bottom of the story river

      (No tiddlers are currently tagged with $:/tags/BelowStory )

      SystemTag: $:/tags/ClassFilters/PageTemplate

       20 octubre 2022 a las 4:59

      The system tag $:/tags/ClassFilters/PageTemplate marks filters marks filters evaluated to dynamically add their output as CSS classes to the page template.

      (No tiddlers are currently tagged with $:/tags/ClassFilters/PageTemplate )

      SystemTag: $:/tags/ClassFilters/TiddlerTemplate

       26 marzo 2023 a las 16:30

      The system tag $:/tags/ClassFilters/TiddlerTemplate marks filters evaluated to dynamically add their output as CSS classes to the tiddler template.

      The variables available are within each filter:

      • storyTiddler: the tiddler in the story for which the filter should be evaluated.
      • currentTiddler: the tiddler holding the filter definition being evaluated.
      (No tiddlers are currently tagged with $:/tags/ClassFilters/TiddlerTemplate )

      SystemTag: $:/tags/ControlPanel

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel marks control panel tabs

      The following tiddlers are tagged with $:/tags/ControlPanel

      caption
      $:/core/ui/ControlPanel/Appearance Aspecto
      $:/core/ui/ControlPanel/Info Información
      $:/core/ui/ControlPanel/KeyboardShortcuts Atajos de teclado
      $:/core/ui/ControlPanel/Plugins Complementos
      $:/core/ui/ControlPanel/Saving Guardando
      $:/core/ui/ControlPanel/Settings Configuración

      SystemTag: $:/tags/ControlPanel/Advanced

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Advanced marks control panel advanced tabs

      The following tiddlers are tagged with $:/tags/ControlPanel/Advanced

      caption
      $:/core/ui/ControlPanel/Cascades Cascadas
      $:/core/ui/ControlPanel/EditorTypes Tipos de editor
      $:/core/ui/ControlPanel/LoadedModules Módulos cargados
      $:/core/ui/ControlPanel/Parsing Interpretación sintáctica
      $:/core/ui/ControlPanel/Stylesheets Hojas de estilo
      $:/core/ui/ControlPanel/TiddlerFields Campos de tiddler

      SystemTag: $:/tags/ControlPanel/Appearance

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Appearance marks control panel appearance tabs

      The following tiddlers are tagged with $:/tags/ControlPanel/Appearance

      caption
      $:/core/ui/ControlPanel/Palette Paleta
      $:/core/ui/ControlPanel/StoryView Vista
      $:/core/ui/ControlPanel/Theme Tema
      $:/core/ui/ControlPanel/Toolbars Barras de herramientas
      $:/snippets/LayoutSwitcher Disposición
      $:/themes/tiddlywiki/vanilla/themetweaks Ajustes de tema

      SystemTag: $:/tags/ControlPanel/Info

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Info marks control panel info tabs

      The following tiddlers are tagged with $:/tags/ControlPanel/Info

      caption
      $:/core/ui/ControlPanel/Advanced Avanzado
      $:/core/ui/ControlPanel/Basics Básico

      SystemTag: $:/tags/ControlPanel/Plugins

       7 agosto 2021 a las 13:36

      The system tag $:/tags/ControlPanel/Plugins marks elements to be placed under "Plugins" tab in $:/ControlPanel

      The following tiddlers are tagged with $:/tags/ControlPanel/Plugins

      caption
      $:/core/ui/ControlPanel/Plugins/Installed/Languages Idiomas (1)
      $:/core/ui/ControlPanel/Plugins/Installed/Plugins Complementos (7)
      $:/core/ui/ControlPanel/Plugins/Installed/Themes Temas (9)

      SystemTag: $:/tags/ControlPanel/Saving

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Saving marks saving configurations

      The following tiddlers are tagged with $:/tags/ControlPanel/Saving

      caption
      $:/core/ui/ControlPanel/Saving/DownloadSaver Almacenamiento de descargas
      $:/core/ui/ControlPanel/Saving/General General
      $:/core/ui/ControlPanel/Saving/Gitea Gitea Saver
      $:/core/ui/ControlPanel/Saving/GitHub GitHub Saver
      $:/core/ui/ControlPanel/Saving/GitLab GitLab Saver
      $:/core/ui/ControlPanel/Saving/TiddlySpot TiddlySpot Saver

      SystemTag: $:/tags/ControlPanel/Settings

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Settings marks control panel settings tabs

      The following tiddlers are tagged with $:/tags/ControlPanel/Settings

      caption
      $:/core/ui/ControlPanel/Settings/CamelCase Enlaces wiki mediante CamelCase
      $:/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab Pestaña predeterminada Más de la barra lateral
      $:/core/ui/ControlPanel/Settings/DefaultSidebarTab Pestaña por defecto de la barra lateral
      $:/core/ui/ControlPanel/Settings/EditorToolbar Barra de herramientas del editor
      $:/core/ui/ControlPanel/Settings/InfoPanelMode Modo de panel de información de Tiddler
      $:/core/ui/ControlPanel/Settings/LinkToBehaviour Comportamiento al abrir tiddlers...
      $:/core/ui/ControlPanel/Settings/MissingLinks Enlaces Wiki
      $:/core/ui/ControlPanel/Settings/NavigationAddressBar Barra de direcciones
      $:/core/ui/ControlPanel/Settings/NavigationHistory Historial de navegación
      $:/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode Modo Permalink/permaview
      $:/core/ui/ControlPanel/Settings/PerformanceInstrumentation Estadísticas de rendimiento
      $:/core/ui/ControlPanel/Settings/TitleLinks Títulos de tiddler
      $:/core/ui/ControlPanel/Settings/ToolbarButtons Botones de la barra de herramientas
      $:/core/ui/ControlPanel/Settings/ToolbarButtonStyle Estilo de botón

      SystemTag: $:/tags/ControlPanel/Toolbars

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ControlPanel/Toolbars marks control panel toolbar customisation tabs

      The following tiddlers are tagged with $:/tags/ControlPanel/Toolbars

      caption
      $:/core/ui/ControlPanel/Toolbars/EditorToolbar Barra de herramientas del editor
      $:/core/ui/ControlPanel/Toolbars/EditToolbar Barra de edición
      $:/core/ui/ControlPanel/Toolbars/PageControls Barra de página
      $:/core/ui/ControlPanel/Toolbars/ViewToolbar Barra de visualización
      $:/plugins/tiddlywiki/menubar/config Menu Bar

      SystemTag: $:/tags/EditorToolbar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/EditorToolbar marks the editor toolbar buttons

      The following tiddlers are tagged with $:/tags/EditorToolbar

      caption
      $:/core/ui/EditorToolbar/bold Negrita
      $:/core/ui/EditorToolbar/clear Limpiar
      $:/core/ui/EditorToolbar/editor-height Altura del editor
      $:/core/ui/EditorToolbar/excise Escindir
      $:/core/ui/EditorToolbar/heading-1 Encabezamiento 1
      $:/core/ui/EditorToolbar/heading-2 Encabezamiento 2
      $:/core/ui/EditorToolbar/heading-3 Encabezamiento 3
      $:/core/ui/EditorToolbar/heading-4 Encabezamiento 4
      $:/core/ui/EditorToolbar/heading-5 Encabezamiento 5
      $:/core/ui/EditorToolbar/heading-6 Encabezamiento 6
      $:/core/ui/EditorToolbar/italic Cursiva
      $:/core/ui/EditorToolbar/line-width Ancho del trazo
      $:/core/ui/EditorToolbar/link Enlace
      $:/core/ui/EditorToolbar/linkify wikilink
      $:/core/ui/EditorToolbar/list-bullet Lista con viñetas
      $:/core/ui/EditorToolbar/list-number Lista numerada
      $:/core/ui/EditorToolbar/mono-block Bloque monoespaciado
      $:/core/ui/EditorToolbar/mono-line Monoespacio
      $:/core/ui/EditorToolbar/more Más
      $:/core/ui/EditorToolbar/opacity Opacidad
      $:/core/ui/EditorToolbar/paint Color del trazo
      $:/core/ui/EditorToolbar/picture Imagen
      $:/core/ui/EditorToolbar/preview Vista previa
      $:/core/ui/EditorToolbar/preview-type Tipo de vista previa
      $:/core/ui/EditorToolbar/quote Bloque de cita
      $:/core/ui/EditorToolbar/rotate-left girar a la izquierda
      $:/core/ui/EditorToolbar/size Tamaño de imagen
      $:/core/ui/EditorToolbar/stamp Snippet
      $:/core/ui/EditorToolbar/strikethrough Tachado
      $:/core/ui/EditorToolbar/subscript Subíndice
      $:/core/ui/EditorToolbar/superscript Superíndice
      $:/core/ui/EditorToolbar/transcludify Transclusión
      $:/core/ui/EditorToolbar/underline Subrayado

      SystemTag: $:/tags/EditorTools

       19 mayo 2021 a las 17:05

      The system tag $:/tags/EditorTools can be used to include non-button UI elements in the edit mode tiddler toolbar. For buttons see SystemTag: $:/tags/EditToolbar.

      The following tiddlers are tagged with $:/tags/EditorTools

      caption
      $:/core/ui/EditorToolbar/file-import $:/core/ui/EditorToolbar/file-import

      SystemTag: $:/tags/EditPreview

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/EditPreview marks custom preview panes

      The following tiddlers are tagged with $:/tags/EditPreview

      caption
      $:/core/ui/EditTemplate/body/preview/diffs-current diferencias con el actual
      $:/core/ui/EditTemplate/body/preview/diffs-shadow diferencias con la copia (si las hay)
      $:/core/ui/EditTemplate/body/preview/output Visible
      $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/parse-tree parse tree
      $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/raw raw HTML
      $:/plugins/tiddlywiki/internals/EditTemplate/body/preview/widget-tree widget tree

      SystemTag: $:/tags/EditTemplate

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/EditTemplate marks the edit template

      The following tiddlers are tagged with $:/tags/EditTemplate

      caption
      $:/ContributionBanner $:/ContributionBanner
      $:/core/ui/EditTemplate/body $:/core/ui/EditTemplate/body
      $:/core/ui/EditTemplate/controls $:/core/ui/EditTemplate/controls
      $:/core/ui/EditTemplate/fields $:/core/ui/EditTemplate/fields
      $:/core/ui/EditTemplate/shadow $:/core/ui/EditTemplate/shadow
      $:/core/ui/EditTemplate/tags $:/core/ui/EditTemplate/tags
      $:/core/ui/EditTemplate/title $:/core/ui/EditTemplate/title
      $:/core/ui/EditTemplate/type $:/core/ui/EditTemplate/type
      $:/core/ui/ViewTemplate/classic $:/core/ui/ViewTemplate/classic

      SystemTag: $:/tags/EditToolbar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/EditToolbar marks the edit mode tiddler toolbar

      The following tiddlers are tagged with $:/tags/EditToolbar

      caption
      $:/core/ui/Buttons/cancel Cancelar
      $:/core/ui/Buttons/delete Borrar
      $:/core/ui/Buttons/save Vale

      SystemTag: $:/tags/Exporter

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Exporter marks the exporters

      The following tiddlers are tagged with $:/tags/Exporter

      caption
      $:/core/templates/exporters/CsvFile Archivo de tipo .CSV
      $:/core/templates/exporters/JsonFile Archivo de tipo .JSON
      $:/core/templates/exporters/StaticRiver Cadena de tiddlers como .HTML estático
      $:/core/templates/exporters/TidFile Tiddler individual como archivo ".tid"

      SystemTag: $:/tags/Filter

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Filter marks filters in advanced search sample filter dropdown

      The following tiddlers are tagged with $:/tags/Filter

      caption
      $:/core/Filters/AllTags Todas las etiquetas, excepto las de sistema
      $:/core/Filters/AllTiddlers Todos los tiddlers, excepto los de sistema
      $:/core/Filters/Drafts Borradores
      $:/core/Filters/Missing Tiddlers inexistentes
      $:/core/Filters/Orphans Tiddlers huérfanos
      $:/core/Filters/OverriddenShadowTiddlers Tiddlers ocultos anulados
      $:/core/Filters/RecentSystemTiddlers Tiddlers recientemente modificados, incluidos los de sistema
      $:/core/Filters/RecentTiddlers Tiddlers recientemente modificados
      $:/core/Filters/SessionTiddlers Tiddlers modificados desde que se cargó el wiki
      $:/core/Filters/ShadowTiddlers Tiddlers ocultos
      $:/core/Filters/StoryList Tiddlers en la vista, excluyendo $:/AdvancedSearch
      $:/core/Filters/SystemTags Etiquetas de sistema
      $:/core/Filters/SystemTiddlers Tiddlers de sistema
      $:/core/Filters/TypedTiddlers Tiddlers que no son WikiText

      SystemTag: $:/tags/Global

       19 abril 2023 a las 11:31

      The system tag $:/tags/Global marks global definitions that are made available everywhere.

      The following tiddlers are tagged with $:/tags/Global

      caption
      WidgetMessage: tm-http-request Example - Random Dog WidgetMessage: tm-http-request Example - Random Dog
      WidgetMessage: tm-http-request Example - Zotero WidgetMessage: tm-http-request Example - Zotero

      SystemTag: $:/tags/Global/View

       19 abril 2023 a las 11:31

      The system tag $:/tags/Global/View marks definitions that are only made available within the main view templates and the preview panel.

      (No tiddlers are currently tagged with $:/tags/Global/View )

      SystemTag: $:/tags/Global/View/Body

       19 abril 2023 a las 11:31

      The system tag $:/tags/Global/View/Body marks definitions that are only made available within the main view template bodies and the preview panel.

      (No tiddlers are currently tagged with $:/tags/Global/View/Body )

      SystemTag: $:/tags/Image

       18 octubre 2021 a las 11:23

      The system tag $:/tags/Image marks core images. An overview of system icons can be found in the Icon Gallery

      The following tiddlers are tagged with $:/tags/Image

      caption
      $:/core/icon $:/core/icon
      $:/core/images/add-comment $:/core/images/add-comment
      $:/core/images/advanced-search-button $:/core/images/advanced-search-button
      $:/core/images/auto-height $:/core/images/auto-height
      $:/core/images/blank $:/core/images/blank
      $:/core/images/bold $:/core/images/bold
      $:/core/images/cancel-button $:/core/images/cancel-button
      $:/core/images/chevron-down $:/core/images/chevron-down
      $:/core/images/chevron-left $:/core/images/chevron-left
      $:/core/images/chevron-right $:/core/images/chevron-right
      $:/core/images/chevron-up $:/core/images/chevron-up
      $:/core/images/clone-button $:/core/images/clone-button
      $:/core/images/close-all-button $:/core/images/close-all-button
      $:/core/images/close-button $:/core/images/close-button
      $:/core/images/close-others-button $:/core/images/close-others-button
      $:/core/images/copy-clipboard $:/core/images/copy-clipboard
      $:/core/images/delete-button $:/core/images/delete-button
      $:/core/images/done-button $:/core/images/done-button
      $:/core/images/down-arrow $:/core/images/down-arrow
      $:/core/images/download-button $:/core/images/download-button
      $:/core/images/edit-button $:/core/images/edit-button
      $:/core/images/erase $:/core/images/erase
      $:/core/images/excise $:/core/images/excise
      $:/core/images/export-button $:/core/images/export-button
      $:/core/images/file $:/core/images/file
      $:/core/images/fixed-height $:/core/images/fixed-height
      $:/core/images/fold-all-button $:/core/images/fold-all-button
      $:/core/images/fold-button $:/core/images/fold-button
      $:/core/images/fold-others-button $:/core/images/fold-others-button
      $:/core/images/folder $:/core/images/folder
      $:/core/images/full-screen-button $:/core/images/full-screen-button
      $:/core/images/github $:/core/images/github
      $:/core/images/gitter $:/core/images/gitter
      $:/core/images/globe $:/core/images/globe
      $:/core/images/heading-1 $:/core/images/heading-1
      $:/core/images/heading-2 $:/core/images/heading-2
      $:/core/images/heading-3 $:/core/images/heading-3
      $:/core/images/heading-4 $:/core/images/heading-4
      $:/core/images/heading-5 $:/core/images/heading-5
      $:/core/images/heading-6 $:/core/images/heading-6
      $:/core/images/help $:/core/images/help
      $:/core/images/home-button $:/core/images/home-button
      $:/core/images/import-button $:/core/images/import-button
      $:/core/images/info-button $:/core/images/info-button
      $:/core/images/italic $:/core/images/italic
      $:/core/images/layout-button $:/core/images/layout-button
      $:/core/images/left-arrow $:/core/images/left-arrow
      $:/core/images/line-width $:/core/images/line-width
      $:/core/images/link $:/core/images/link
      $:/core/images/linkify $:/core/images/linkify
      $:/core/images/list $:/core/images/list
      $:/core/images/list-bullet $:/core/images/list-bullet
      $:/core/images/list-number $:/core/images/list-number
      $:/core/images/locked-padlock $:/core/images/locked-padlock
      $:/core/images/mail $:/core/images/mail
      $:/core/images/mastodon $:/core/images/mastodon
      $:/core/images/menu-button $:/core/images/menu-button
      $:/core/images/minus-button $:/core/images/minus-button
      $:/core/images/mono-block $:/core/images/mono-block
      $:/core/images/mono-line $:/core/images/mono-line
      $:/core/images/network-activity $:/core/images/network-activity
      $:/core/images/new-button $:/core/images/new-button
      $:/core/images/new-here-button $:/core/images/new-here-button
      $:/core/images/new-image-button $:/core/images/new-image-button
      $:/core/images/new-journal-button $:/core/images/new-journal-button
      $:/core/images/opacity $:/core/images/opacity
      $:/core/images/open-window $:/core/images/open-window
      $:/core/images/options-button $:/core/images/options-button
      $:/core/images/paint $:/core/images/paint
      $:/core/images/palette $:/core/images/palette
      $:/core/images/permalink-button $:/core/images/permalink-button
      $:/core/images/permaview-button $:/core/images/permaview-button
      $:/core/images/picture $:/core/images/picture
      $:/core/images/plugin-generic-language $:/core/images/plugin-generic-language
      $:/core/images/plugin-generic-plugin $:/core/images/plugin-generic-plugin
      $:/core/images/plugin-generic-theme $:/core/images/plugin-generic-theme
      $:/core/images/plus-button $:/core/images/plus-button
      $:/core/images/preview-closed $:/core/images/preview-closed
      $:/core/images/preview-open $:/core/images/preview-open
      $:/core/images/print-button $:/core/images/print-button
      $:/core/images/quote $:/core/images/quote
      $:/core/images/refresh-button $:/core/images/refresh-button
      $:/core/images/right-arrow $:/core/images/right-arrow
      $:/core/images/rotate-left $:/core/images/rotate-left
      $:/core/images/save-button $:/core/images/save-button
      $:/core/images/save-button-dynamic $:/core/images/save-button-dynamic
      $:/core/images/size $:/core/images/size
      $:/core/images/spiral $:/core/images/spiral
      $:/core/images/stamp $:/core/images/stamp
      $:/core/images/star-filled $:/core/images/star-filled
      $:/core/images/storyview-classic $:/core/images/storyview-classic
      $:/core/images/storyview-pop $:/core/images/storyview-pop
      $:/core/images/storyview-zoomin $:/core/images/storyview-zoomin
      $:/core/images/strikethrough $:/core/images/strikethrough
      $:/core/images/subscript $:/core/images/subscript
      $:/core/images/superscript $:/core/images/superscript
      $:/core/images/tag-button $:/core/images/tag-button
      $:/core/images/theme-button $:/core/images/theme-button
      $:/core/images/timestamp-off $:/core/images/timestamp-off
      $:/core/images/timestamp-on $:/core/images/timestamp-on
      $:/core/images/tip $:/core/images/tip
      $:/core/images/transcludify $:/core/images/transcludify
      $:/core/images/twitter $:/core/images/twitter
      $:/core/images/underline $:/core/images/underline
      $:/core/images/unfold-all-button $:/core/images/unfold-all-button
      $:/core/images/unfold-button $:/core/images/unfold-button
      $:/core/images/unlocked-padlock $:/core/images/unlocked-padlock
      $:/core/images/up-arrow $:/core/images/up-arrow
      $:/core/images/video $:/core/images/video
      $:/core/images/warning $:/core/images/warning

      SystemTag: $:/tags/ImportPreview

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ImportPreview marks preview types for the import listing

      The following tiddlers are tagged with $:/tags/ImportPreview

      caption
      $:/core/ui/ImportPreviews/Diff Diff
      $:/core/ui/ImportPreviews/DiffFields Diff (Campos)
      $:/core/ui/ImportPreviews/Fields Campos
      $:/core/ui/ImportPreviews/Text Texto
      $:/core/ui/ImportPreviews/TextRaw Texto (crudo)

      SystemTag: $:/tags/KeyboardShortcut

       

      The system tag $:/tags/KeyboardShortcut defines the tagged Tiddler as a Keyboard Shortcut Tiddler, a container for actions that get triggered when its corresponding Keyboard Shortcut Descriptor in its key field matches a keyboard combination executed by the User

      The following tiddlers are tagged with $:/tags/KeyboardShortcut

      caption
      $:/core/ui/KeyboardShortcuts/advanced-search $:/core/ui/KeyboardShortcuts/advanced-search
      $:/core/ui/KeyboardShortcuts/change-sidebar-layout $:/core/ui/KeyboardShortcuts/change-sidebar-layout
      $:/core/ui/KeyboardShortcuts/new-image $:/core/ui/KeyboardShortcuts/new-image
      $:/core/ui/KeyboardShortcuts/new-journal $:/core/ui/KeyboardShortcuts/new-journal
      $:/core/ui/KeyboardShortcuts/new-tiddler $:/core/ui/KeyboardShortcuts/new-tiddler
      $:/core/ui/KeyboardShortcuts/save-wiki $:/core/ui/KeyboardShortcuts/save-wiki
      $:/core/ui/KeyboardShortcuts/sidebar-search $:/core/ui/KeyboardShortcuts/sidebar-search
      $:/core/ui/KeyboardShortcuts/switcher $:/core/ui/KeyboardShortcuts/switcher
      $:/core/ui/KeyboardShortcuts/toggle-sidebar $:/core/ui/KeyboardShortcuts/toggle-sidebar

      SystemTag: $:/tags/Layout

       23 noviembre 2020 a las 19:21

      The system tag $:/tags/Layout marks alternative page layouts that can be switched to.

      (No tiddlers are currently tagged with $:/tags/Layout )

      SystemTag: $:/tags/Macro

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Macro marks global macros. It is now deprecated in favour of SystemTag: $:/tags/Global.

      The following tiddlers are tagged with $:/tags/Macro

      caption
      $:/core/macros/colour-picker $:/core/macros/colour-picker
      $:/core/macros/copy-to-clipboard $:/core/macros/copy-to-clipboard
      $:/core/macros/CSS $:/core/macros/CSS
      $:/core/macros/diff $:/core/macros/diff
      $:/core/macros/dumpvariables $:/core/macros/dumpvariables
      $:/core/macros/export $:/core/macros/export
      $:/core/macros/image-picker $:/core/macros/image-picker
      $:/core/macros/keyboard-driven-input $:/core/macros/keyboard-driven-input
      $:/core/macros/lingo $:/core/macros/lingo
      $:/core/macros/list $:/core/macros/list
      $:/core/macros/tabs $:/core/macros/tabs
      $:/core/macros/tag $:/core/macros/tag
      $:/core/macros/tag-picker $:/core/macros/tag-picker
      $:/core/macros/thumbnails $:/core/macros/thumbnails
      $:/core/macros/timeline $:/core/macros/timeline
      $:/core/macros/toc $:/core/macros/toc
      $:/core/macros/translink $:/core/macros/translink
      $:/core/macros/tree $:/core/macros/tree
      $:/edition/tw5.com/dropbox-url.js $:/edition/tw5.com/dropbox-url.js
      $:/editions/tw5.com/doc-macros $:/editions/tw5.com/doc-macros
      $:/editions/tw5.com/operator-macros $:/editions/tw5.com/operator-macros
      $:/editions/tw5.com/style-guide-macros $:/editions/tw5.com/style-guide-macros
      $:/editions/tw5.com/variable-macros $:/editions/tw5.com/variable-macros
      $:/editions/tw5.com/version-macros $:/editions/tw5.com/version-macros
      $:/editions/tw5.com/wikitext-macros $:/editions/tw5.com/wikitext-macros

      SystemTag: $:/tags/Macro/View

       3 enero 2020 a las 9:26

      The system tag $:/tags/Macro/View marks macros that are only made available within the main view templates and the preview panel. It is now deprecated in favour of SystemTag $:/tags/Global/View.

      (No tiddlers are currently tagged with $:/tags/Macro/View )

      SystemTag: $:/tags/Macro/View/Body

       5 mayo 2022 a las 9:29

      The system tag $:/tags/Macro/View/Body marks macros that are only made available within the main view template bodies and the preview panel. It is now deprecated in favour of SystemTag $:/tags/Global/View/Body.

      (No tiddlers are currently tagged with $:/tags/Macro/View/Body )

      SystemTag: $:/tags/Manager/ItemMain

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Manager/ItemMain marks the tiddler manager. $:/Manager

      The following tiddlers are tagged with $:/tags/Manager/ItemMain

      caption
      $:/Manager/ItemMain/Fields Campos
      $:/Manager/ItemMain/RawText Texto sin procesar
      $:/Manager/ItemMain/WikifiedText Texto Wikified

      SystemTag: $:/tags/Manager/ItemSidebar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Manager/ItemSidebar marks the tiddler manager

      The following tiddlers are tagged with $:/tags/Manager/ItemSidebar

      caption
      $:/Manager/ItemSidebar/Colour Color
      $:/Manager/ItemSidebar/Icon Icono
      $:/Manager/ItemSidebar/Tags Etiquetas
      $:/Manager/ItemSidebar/Tools Herramientas

      SystemTag: $:/tags/MoreSideBar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/MoreSideBar marks tabs in the 'more' sidebar

      The following tiddlers are tagged with $:/tags/MoreSideBar

      caption
      $:/core/ui/MoreSideBar/All Todos
      $:/core/ui/MoreSideBar/Drafts Borradores
      $:/core/ui/MoreSideBar/Explorer Explorar
      $:/core/ui/MoreSideBar/Missing Vacíos
      $:/core/ui/MoreSideBar/Orphans Huérfanos
      $:/core/ui/MoreSideBar/Plugins Complementos
      $:/core/ui/MoreSideBar/Recent Recientes
      $:/core/ui/MoreSideBar/Shadows Ocultos
      $:/core/ui/MoreSideBar/System Sistema
      $:/core/ui/MoreSideBar/Tags Etiquetas
      $:/core/ui/MoreSideBar/Types Tipos

      SystemTag: $:/tags/MoreSideBar/Plugins

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/MoreSideBar/Plugins marks Sidebar: More: Plugins tab

      The following tiddlers are tagged with $:/tags/MoreSideBar/Plugins

      caption
      $:/core/ui/MoreSideBar/Plugins/Languages Idiomas
      $:/core/ui/MoreSideBar/Plugins/Plugins Complementos
      $:/core/ui/MoreSideBar/Plugins/Theme Temas

      SystemTag: $:/tags/PageControls

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/PageControls marks the page control tools in the sidebar

      The following tiddlers are tagged with $:/tags/PageControls

      caption
      $:/core/ui/Buttons/advanced-search Búsqueda avanzada
      $:/core/ui/Buttons/close-all Cerrar todo
      $:/core/ui/Buttons/control-panel Panel de Control
      $:/core/ui/Buttons/encryption Cifrado
      $:/core/ui/Buttons/export-page Exportar todos
      $:/core/ui/Buttons/fold-all Comprimir todos
      $:/core/ui/Buttons/full-screen Pantalla completa
      $:/core/ui/Buttons/home Inicio
      $:/core/ui/Buttons/import Importar
      $:/core/ui/Buttons/language Idioma
      $:/core/ui/Buttons/layout disposición
      $:/core/ui/Buttons/manager Administrador tiddler
      $:/core/ui/Buttons/more-page-actions Más
      $:/core/ui/Buttons/network-activity actividad de red
      $:/core/ui/Buttons/new-image Nueva imagen
      $:/core/ui/Buttons/new-journal 4 Nueva entrada
      $:/core/ui/Buttons/new-tiddler Nuevo tiddler
      $:/core/ui/Buttons/palette Paleta
      $:/core/ui/Buttons/permaview Permaview
      $:/core/ui/Buttons/print Imprimir página
      $:/core/ui/Buttons/refresh Recargar
      $:/core/ui/Buttons/save-wiki Guardar cambios
      $:/core/ui/Buttons/storyview Vista
      $:/core/ui/Buttons/tag-manager Administrador de etiquetas
      $:/core/ui/Buttons/theme Tema
      $:/core/ui/Buttons/timestamp Marcas de tiempo
      $:/core/ui/Buttons/unfold-all Desplegar todos

      SystemTag: $:/tags/PageTemplate

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/PageTemplate marks the main page elements

      The following tiddlers are tagged with $:/tags/PageTemplate

      caption
      $:/core/ui/PageTemplate/alerts $:/core/ui/PageTemplate/alerts
      $:/core/ui/PageTemplate/drafts $:/core/ui/PageTemplate/drafts
      $:/core/ui/PageTemplate/pluginreloadwarning $:/core/ui/PageTemplate/pluginreloadwarning
      $:/core/ui/PageTemplate/sidebar $:/core/ui/PageTemplate/sidebar
      $:/core/ui/PageTemplate/story $:/core/ui/PageTemplate/story
      $:/plugins/tiddlywiki/menubar/menu $:/plugins/tiddlywiki/menubar/menu

      SystemTag: $:/tags/Palette

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Palette marks colour palettes

      The following tiddlers are tagged with $:/tags/Palette

      caption
      $:/palettes/Blanca A clean white palette to let you focus
      $:/palettes/Blue A blue theme
      $:/palettes/ContrastDark High contrast and unambiguous (dark version)
      $:/palettes/ContrastLight High contrast and unambiguous (light version)
      $:/palettes/CupertinoDark A macOS inspired dark palette
      $:/palettes/DarkPhotos Good with dark photo backgrounds
      $:/palettes/DesertSand A desert sand palette
      $:/palettes/GruvboxDark Retro groove color scheme
      $:/palettes/Muted Bright tiddlers on a muted background
      $:/palettes/Nord An arctic, north-bluish color palette.
      $:/palettes/Rocker A dark theme
      $:/palettes/SolarFlare Warm, relaxing earth colours
      $:/palettes/SolarizedDark Precision dark colors for machines and people
      $:/palettes/SolarizedLight Precision colors for machines and people
      $:/palettes/SpartanDay Cold, spartan day colors
      $:/palettes/SpartanNight Dark spartan colors
      $:/palettes/Twilight Delightful, soft darkness.
      $:/palettes/Vanilla Pale and unobtrusive

      SystemTag: $:/tags/PluginLibrary

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/PluginLibrary marks the plugin library

      The following tiddlers are tagged with $:/tags/PluginLibrary

      caption
      $:/config/OfficialPluginLibrary Librería de complementos oficiales de TiddlyWiki

      SystemTag: $:/tags/RawMarkup

       27 septiembre 2018 a las 9:43

      The system tag $:/tags/RawMarkup marks plain text tiddlers to be included as raw markup at the bottom of the <head> section in the generated HTML file.

      Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect.

      (No tiddlers are currently tagged with $:/tags/RawMarkup )

      SystemTag: $:/tags/RawMarkupWikified

       27 septiembre 2018 a las 9:43

      The system tag $:/tags/RawMarkupWikified marks wikified tiddlers to be included as raw markup at the bottom of the <head> section in the generated HTML file.

      Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.

      (No tiddlers are currently tagged with $:/tags/RawMarkupWikified )

      SystemTag: $:/tags/RawMarkupWikified/BottomBody

       28 septiembre 2018 a las 15:58

      New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/BottomBody marks wikified tiddlers to be included as raw markup at the bottom of the <body> section in the generated HTML file.

      Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.

      (No tiddlers are currently tagged with $:/tags/RawMarkupWikified/BottomBody )

      SystemTag: $:/tags/RawMarkupWikified/TopBody

       28 septiembre 2018 a las 15:58

      New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/TopBody marks wikified tiddlers to be included as raw markup at the top of the <body> section in the generated HTML file.

      Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.

      The following tiddlers are tagged with $:/tags/RawMarkupWikified/TopBody

      caption
      $:/SplashScreen $:/SplashScreen

      SystemTag: $:/tags/RawMarkupWikified/TopHead

       28 septiembre 2018 a las 15:57

      New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/TopHead marks wikified tiddlers to be included as raw markup at the top of the <head> section in the generated HTML file.

      Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.

      (No tiddlers are currently tagged with $:/tags/RawMarkupWikified/TopHead )

      SystemTag: $:/tags/RawStaticContent

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/RawStaticContent marks raw content to be saved into the TW code

      (No tiddlers are currently tagged with $:/tags/RawStaticContent )

      SystemTag: $:/tags/RemoteAssetInfo

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/RemoteAssetInfo marks plugin import handling

      (No tiddlers are currently tagged with $:/tags/RemoteAssetInfo )

      SystemTag: $:/tags/SearchResults

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/SearchResults marks customised search results

      The following tiddlers are tagged with $:/tags/SearchResults

      caption
      $:/core/ui/DefaultSearchResultList Lista

      SystemTag: $:/tags/ServerConnection

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ServerConnection marks plugin import handling

      (No tiddlers are currently tagged with $:/tags/ServerConnection )

      SystemTag: $:/tags/SideBar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/SideBar marks sidebar tabs

      The following tiddlers are tagged with $:/tags/SideBar

      caption
      $:/core/ui/SideBar/More Más
      $:/core/ui/SideBar/Open Abiertos
      $:/core/ui/SideBar/Recent Recientes
      $:/core/ui/SideBar/Tools Herramientas
      Información para traductores Información para traductores
      TableOfContents Contenido

      SystemTag: $:/tags/SideBarSegment

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/SideBarSegment marks sidebar segments

      Note: You can rearrange the segments by drag-and-dropping the titles inside the tag pill

      The following tiddlers are tagged with $:/tags/SideBarSegment

      caption
      $:/core/ui/SideBarSegments/page-controls $:/core/ui/SideBarSegments/page-controls
      $:/core/ui/SideBarSegments/search $:/core/ui/SideBarSegments/search
      $:/core/ui/SideBarSegments/site-subtitle $:/core/ui/SideBarSegments/site-subtitle
      $:/core/ui/SideBarSegments/site-title $:/core/ui/SideBarSegments/site-title
      $:/core/ui/SideBarSegments/tabs $:/core/ui/SideBarSegments/tabs

      SystemTag: $:/tags/StartupAction

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/StartupAction marks actions executed on all platforms

      (No tiddlers are currently tagged with $:/tags/StartupAction )

      SystemTag: $:/tags/StartupAction/Browser

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/StartupAction/Browser marks actions only executed when running in the browser

      (No tiddlers are currently tagged with $:/tags/StartupAction/Browser )

      SystemTag: $:/tags/StartupAction/Node

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/StartupAction/Node marks actions only executed when running under Node.js

      (No tiddlers are currently tagged with $:/tags/StartupAction/Node )

      SystemTag: $:/tags/Stylesheet

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/Stylesheet marks that a tiddler should be applied as a CSS stylesheet

      The following tiddlers are tagged with $:/tags/Stylesheet

      caption
      $:/_tw_shared/styles $:/_tw_shared/styles
      $:/_tw5.com-styles $:/_tw5.com-styles
      $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles $:/_tw5.com/CustomStoryTiddlerTemplateDemo/Styles
      $:/editions/tw5.com/doc-styles $:/editions/tw5.com/doc-styles
      $:/plugins/tiddlywiki/internals/styles $:/plugins/tiddlywiki/internals/styles
      $:/plugins/tiddlywiki/menubar/styles $:/plugins/tiddlywiki/menubar/styles
      $:/plugins/tiddlywiki/railroad/railroad-diagrams.css $:/plugins/tiddlywiki/railroad/railroad-diagrams.css
      $:/SavingThumbnailsStyles $:/SavingThumbnailsStyles
      $:/themes/tiddlywiki/snowwhite/base $:/themes/tiddlywiki/snowwhite/base
      $:/themes/tiddlywiki/vanilla/base $:/themes/tiddlywiki/vanilla/base
      Custom data-styles Custom data-styles

      SystemTag: $:/tags/TagDropdown

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TagDropdown marks tags dropdown sorting

      (No tiddlers are currently tagged with $:/tags/TagDropdown )

      SystemTag: $:/tags/TextEditor/Snippet

       28 agosto 2020 a las 16:41

      The system tag $:/tags/TextEditor/Snippet marks text snippets

      The following tiddlers are tagged with $:/tags/TextEditor/Snippet

      caption
      $:/language/Snippets/ListByTag Liste de tiddlers por etiqueta
      $:/language/Snippets/MacroDefinition Macro definition
      $:/language/Snippets/Table4x3 Table with 4 columns by 3 rows
      $:/language/Snippets/TableOfContents Table of Contents

      SystemTag: $:/tags/TiddlerInfo

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TiddlerInfo marks tiddler info panel tabs

      The following tiddlers are tagged with $:/tags/TiddlerInfo

      caption
      $:/core/ui/TiddlerInfo/Advanced Avanzado
      $:/core/ui/TiddlerInfo/Fields Campos
      $:/core/ui/TiddlerInfo/List Lista
      $:/core/ui/TiddlerInfo/Listed En lista de
      $:/core/ui/TiddlerInfo/References Referencias
      $:/core/ui/TiddlerInfo/Tagging Etiquetado
      $:/core/ui/TiddlerInfo/Tools Herramientas
      $:/editions/tw5.com/TiddlerInfo/Sources Sources

      SystemTag: $:/tags/TiddlerInfo/Advanced

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TiddlerInfo/Advanced marks tabs under the advanced tiddler tab

      The following tiddlers are tagged with $:/tags/TiddlerInfo/Advanced

      caption
      $:/core/ui/TiddlerInfo/Advanced/PluginInfo $:/core/ui/TiddlerInfo/Advanced/PluginInfo
      $:/core/ui/TiddlerInfo/Advanced/ShadowInfo $:/core/ui/TiddlerInfo/Advanced/ShadowInfo

      SystemTag: $:/tags/TiddlerInfoSegment

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TiddlerInfoSegment marks tiddler info panel segments

      (No tiddlers are currently tagged with $:/tags/TiddlerInfoSegment )

      SystemTag: $:/tags/ToolbarButtonStyle

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ToolbarButtonStyle marks the style of the buttons

      The following tiddlers are tagged with $:/tags/ToolbarButtonStyle

      caption
      $:/core/buttonstyles/Borderless Sin borde
      $:/core/buttonstyles/Boxed Cuadrado
      $:/core/buttonstyles/Rounded Redondo

      SystemTag: $:/tags/TopLeftBar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TopLeftBar marks the top left bar

      (No tiddlers are currently tagged with $:/tags/TopLeftBar )

      SystemTag: $:/tags/TopRightBar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/TopRightBar marks the top right bar

      The following tiddlers are tagged with $:/tags/TopRightBar

      caption
      $:/core/ui/TopBar/menu $:/core/ui/TopBar/menu

      SystemTag: $:/tags/ViewTemplate

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ViewTemplate identifies the individual segments that are displayed as part of the view template

      The following tiddlers are tagged with $:/tags/ViewTemplate

      caption
      $:/core/ui/ViewTemplate/body $:/core/ui/ViewTemplate/body
      $:/core/ui/ViewTemplate/classic $:/core/ui/ViewTemplate/classic
      $:/core/ui/ViewTemplate/subtitle $:/core/ui/ViewTemplate/subtitle
      $:/core/ui/ViewTemplate/tags $:/core/ui/ViewTemplate/tags
      $:/core/ui/ViewTemplate/title $:/core/ui/ViewTemplate/title
      $:/core/ui/ViewTemplate/unfold $:/core/ui/ViewTemplate/unfold
      $:/editions/tw5.com/operator-template $:/editions/tw5.com/operator-template
      $:/editions/tw5.com/systemtag-template $:/editions/tw5.com/systemtag-template

      SystemTag: $:/tags/ViewTemplate/Subtitle

       14 julio 2022 a las 10:32

      The system tag $:/tags/ViewTemplate/Subtitle identifies the individual segments that are displayed as the tiddler subtitle

      The following tiddlers are tagged with $:/tags/ViewTemplate/Subtitle

      caption
      $:/core/ui/ViewTemplate/subtitle/modified $:/core/ui/ViewTemplate/subtitle/modified
      $:/core/ui/ViewTemplate/subtitle/modifier $:/core/ui/ViewTemplate/subtitle/modifier

      SystemTag: $:/tags/ViewToolbar

       26 septiembre 2018 a las 18:14

      The system tag $:/tags/ViewToolbar marks the view mode tiddler toolbar

      The following tiddlers are tagged with $:/tags/ViewToolbar

      caption
      $:/core/ui/Buttons/clone Clonar
      $:/core/ui/Buttons/close Cerrar
      $:/core/ui/Buttons/close-others Cerrar los demás
      $:/core/ui/Buttons/delete Borrar
      $:/core/ui/Buttons/edit Editar
      $:/core/ui/Buttons/export-tiddler Exportar tiddler
      $:/core/ui/Buttons/fold Comprimir tiddler
      $:/core/ui/Buttons/fold-bar Barra de vista comprimida
      $:/core/ui/Buttons/fold-others Comprimir los demás
      $:/core/ui/Buttons/info Información
      $:/core/ui/Buttons/more-tiddler-actions Más
      $:/core/ui/Buttons/new-here Nuevo aquí
      $:/core/ui/Buttons/new-journal-here 4 Entrada nueva aquí
      $:/core/ui/Buttons/open-window Abrir en ventana nueva
      $:/core/ui/Buttons/permalink Enlace permanente
      $:/core/ui/Buttons/permaview Permaview

      SystemTags

       19 mayo 2021 a las 17:06

      System tags are used to give special behaviour to tiddlers.

      These are the system tags defined by the TiddlyWiki core:

      marks elements to be placed at the top of the story river
      marks search elements
      marks filter buttons
      marks alerts
      marks elements to be placed at the bottom of the story river
      marks control panel tabs
      marks control panel advanced tabs
      marks control panel appearance tabs
      marks control panel info tabs
      marks saving configurations
      marks control panel settings tabs
      marks control panel toolbar customisation tabs
      marks the edit mode tiddler toolbar for non-button elements.
      marks the editor toolbar buttons
      marks custom preview panes
      marks the edit template
      marks the edit mode tiddler toolbar
      marks the exporters
      marks filters in advanced search sample filter dropdown
      marks (core) images
      marks preview types for the import listing
      uses the text of tagged tiddler as keyboard shortcut actions
      marks alternative page layouts
      marks global macros
      marks global macros only active in View template
      marks global macros only active in View template body
      marks the tiddler manager. $:/Manager
      marks the tiddler manager
      marks tabs in the 'more' sidebar
      marks Sidebar: More: Plugins tab
      marks the page control tools in the sidebar
      marks the main page elements
      marks colour palettes
      marks the plugin library
      marks tiddlers included as raw text at the bottom of <head>
      marks tiddlers included as wikified text at the bottom of <head>
      marks tiddlers included as wikified text at the bottom of <body>
      marks tiddlers included as wikified text at the top of <body>
      marks tiddlers included as wikified text at the top of <head>
      marks raw content to be saved into the TW code
      marks plugin import handling
      marks customised search results
      marks plugin import handling
      marks sidebar tabs
      marks sidebar segments
      marks actions executed on all platforms
      marks actions only executed when running in the browser
      marks actions only executed when running under Node.js
      marks that a tiddler should be applied as a CSS stylesheet
      marks tags dropdown sorting
      marks text snippets
      marks tiddler info panel tabs
      marks tabs under the advanced tiddler tab
      marks tiddler info panel segments
      marks the style of the buttons
      marks the top left bar
      marks the top right bar
      identifies the individual segments that are displayed as part of the view template
      marks the view mode tiddler toolbar
      marks filters evaluated to dynamically add classes to the page template.
      marks filters evaluated to dynamically add classes to the page template.
      marks elements to be placed under "Plugins" tab in Control Panel
      marks global definitions
      marks global definitions only active in View template
      marks global definitions only active in View template body
      identifies the individual segments that are displayed as the tiddler subtitle

      System tags defined by TiddlyWiki plugins

      can be seen at: tiddlywiki prerelease see: top left page control bubble
      help panel "videos" tab
      can be seen at: tiddlywiki prerelease. see: Tiddler toolbar
      used by the translators edition
      twitter plugin
      see: tiddlywiki prerelease
      tiddlywiki test suite

      SystemTiddlers

       13 enero 2018 a las 15:38

      Tiddlers are classified as system tiddlers if their title starts with the special string $:/. The only difference from ordinary tiddlers is that they are hidden from most searches and lists in the sidebar. (In particular, system tiddlers are shown in the "More/System" list).

      System tiddlers provide a simple way to hide the internal components of TiddlyWiki so that they don't clutter things up, getting in the way of the users content.

      Many of the system tiddlers follow the convention of using further slashes to delineate the components of the title. For example: $:/config/BitmapEditor/LineWidth.

      You don't need to create your own system tiddlers, but it can be useful when customising TiddlyWiki. For example, if you create a custom palette you might call it $:/_MyPalette so that (a) it is hidden from searches/lists and (b) it will appear at the top of the system tiddler list for easy reference.

      TabbedExampleType

       

      toc-tabbed-internal-nav

      Table Classes, Captions, Headers and Footers

       19 agosto 2022 a las 11:13

      Table CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example:

      • |myclass anotherClass|k assigns the CSS classes "myclass" and "anotherClass" to the table
      • |This is a caption |c gives the table the caption "This is a caption"
      • |Header|Header|h adds a header row of cells with the text "Header"
      • |Footer|Footer|f adds a footer row of cells with the text "Footer"
      |myclass anotherClass|k
      |This is a caption |c
      |Cell1 |Cell2 |
      |Cell3 |Cell3 |
      |Header|Header|h
      |Footer|Footer|f
      

      Este es su aspecto:

      This is a caption
      Cell1Cell2
      Cell3Cell3
      HeaderHeader
      FooterFooter

      table-example

       18 enero 2022 a las 2:35
      cell onecell two
      cell threecell four

      Table-of-Contents Macros

       27 abril 2023 a las 13:55

      TiddlyWiki provides several macros for generating a tree of tiddler links by analysing tags:

      toc
      A simple tree
      toc-expandable
      A tree in which all the branches can be expanded and collapsed
      toc-selective-expandable
      A tree in which the non-empty branches can be expanded and collapsed
      toc-tabbed-internal-nav and toc-tabbed-external-nav
      A two-panel browser:
      • on the left, a selectively expandable tree that behaves like a set of vertical tabs
      • on the right, the content of whichever tiddler the user selects in the tree

      The difference between the last two has to do with what happens when the user clicks a link in the right-hand panel:

      toc-tabbed-internal-nav
      The target tiddler appears in the right-hand panel, replacing the tiddler that contained the link
      toc-tabbed-external-nav
      The target tiddler appears in the normal way (which depends on the user's configured storyview)

      Structure

      The top level of the tree consists of the tiddlers that carry a particular tag, known as the root tag. Tiddlers tagged with any of those make up the next level down, and so on.

      At each level, the tiddlers can be ordered by means of the list field of the parent tag tiddler. They can also be ordered by the macro's sort parameter.

      The tree displays the caption field of a tiddler if it has one, or the tiddler's title otherwise.

      Each tiddler in the tree is normally displayed as a link. To suppress this, give the tiddler a toc-link field with the the value no. In the examples, the SecondThree tiddler is set up like this. Clicking such a tiddler in the tree causes its branch to expand or collapse.

      New in: 5.1.23 By default, the links open the tiddlers making up the table of contents. Alternatively, if the tiddler contains a target field then its contents will be used as the target of the link.

      The table of contents is generated as an HTML ordered list. The <ol> elements always have the class tc-toc. Expandable trees have the additional class tc-toc-expandable. Selectively expandable trees (including those in the two-panel browser) have tc-toc-selective-expandable.

      To make a table of contents appear in the sidebar, see How to add a new tab to the sidebar.

      Parameters

      tag
      The root tag that identifies the top level of the tree
      sort
      An optional extra filter step, e.g. sort[title]

      These two parameters are combined into a single filter expression like this:

      [tag[$tag$]$sort$]

      toc-tabbed-internal-nav and toc-tabbed-external-nav take additional parameters:

      selectedTiddler
      The title of the state tiddler for noting the currently selected tiddler, defaulting to $:/temp/toc/selectedTiddler. It is recommended that this be a system tiddler
      unselectedText
      The text to display when no tiddler is selected in the tree
      missingText
      The text to display if the selected tiddler doesn't exist
      template
      Optionally, the title of a tiddler to use as a template for transcluding the selected tiddler into the right-hand panel
      exclude New in: 5.3.0
      This optional parameter can be used to exclude tiddlers from the TOC list. It allows a Title List or a subfilter. Eg: exclude:"HelloThere [[Title with spaces]]" or exclude:"[has[excludeTOC]]". Where the former will exclude two tiddlers and the later would exclude every tiddler that has a field excludeTOC independent of its value.
      Be aware that eg: [prefix[H]] is a shortcut for [all[tiddlers]prefix[H]], which can have a performance impact, if used carelessly. So use $:/AdvancedSearch -> Filters tab to test the exclude parameter

      Custom Icons

      New in: 5.2.4

      To change the icons used by the Table-of-Contents macros, redefine the macros toc-open-icon and toc-closed-icon. This setting works for all toc-macro variants.

      Default Settings

      • toc-open-icon: \define toc-open-icon() $:/core/images/down-arrow
      • toc-closed-icon: \define toc-closed-icon() $:/core/images/right-arrow

      Custom Definitions

      The default settings can be overwritten in your code using the define-pragma or the let-widget. The $let widget can be used, if you have multiple table of contents macros in one tiddler, that need different icons.

      Define new icons using a pragma

      \define toc-open-icon() $:/core/images/fold-button
      \define toc-closed-icon() $:/core/images/folder
      ...

      Define new icons using the let-widget

      <$let toc-open-icon="$:/core/images/fold-button" toc-closed-icon="$:/core/images/folder">
      ...
      </$let>

      Examples

      Learn more at Examples

      Table-of-Contents Macros (Examples)

       6 noviembre 2018 a las 22:14

      These examples derive tables of contents from the root tag Contents. See Table-of-Contents Macros for details on how to use the Table-of-Contents Macros to make your own structured table-of-contents.

      You can explore the same structure with these clickable tag pills:

      The tabbed example uses the real TableOfContents of this documentation instead.

      <div class="tc-table-of-contents">
      <<toc "Contents">>
      </div>

      TableOfContents

       14 abril 2015 a las 8:02

      Tables in WikiText

       19 agosto 2022 a las 11:34

      Basics

      TiddlyWiki5 formats tables using vertical bar | characters. Exclamation marks ! are used to indicate header cells.

      |!Cell1 |!Cell2 |
      |Cell3 |Cell3 |
      

      Este es su aspecto:

      Cell1Cell2
      Cell3Cell3

      Cell Alignment

      Table cell alignment is controlled by inserting space characters before and/or after the cell content. For example:

      |Left aligned content |
      | Right aligned content|
      | Centred content |
      |+++ a very wide column so we can see the alignment +++|
      

      Este es su aspecto:

      Left aligned content
      Right aligned content
      Centred content
      +++ a very wide column so we can see the alignment +++

      Cell vertical Alignment

      Vertical alignment of cells is done by inserting either a ^ for top alignment or a , for bottom alignment as the first character of a cell. The normal horizontal alignment is still possible. For example:

      |^top left |^ top center |^ top right|
      |middle left | middle center | middle right|
      |,bottom left |, bottom center |, bottom right|

      The example renders as:

      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
      ::
      ::
      top lefttop centertop right::
      ::
      ::
      ::
      middle leftmiddle centermiddle right::
      ::
      ::
      ::
      bottom leftbottom centerbottom right::
      ::
      :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

      If you need to have a ^or a , as the first character of a left aligned cell, you can use HTML escaping:

      ^&#94;
      ,&#44;

      Cell Merging

      To merge a table cell with the one above, use the special cell text ~. To merge a cell with the one to its left use the text <. To merge one to its right use >. For example:

      |Cell1 |Cell2 |Cell3 |Cell4 |
      |Cell5 |Cell6 |Cell7 |<|
      |Cell5 |~|Cell7 |Cell8 |
      |>|Cell9 |Cell10 |Cell11 |
      

      Este es su aspecto:

      Cell1Cell2Cell3Cell4
      Cell5Cell6Cell7
      Cell5Cell7Cell8
      Cell9Cell10Cell11

      Table Classes, Captions, Headers and Footers

      Table CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example:

      • |myclass anotherClass|k assigns the CSS classes "myclass" and "anotherClass" to the table
      • |This is a caption |c gives the table the caption "This is a caption"
      • |Header|Header|h adds a header row of cells with the text "Header"
      • |Footer|Footer|f adds a footer row of cells with the text "Footer"
      |myclass anotherClass|k
      |This is a caption |c
      |Cell1 |Cell2 |
      |Cell3 |Cell3 |
      |Header|Header|h
      |Footer|Footer|f
      

      Este es su aspecto:

      This is a caption
      Cell1Cell2
      Cell3Cell3
      HeaderHeader
      FooterFooter

      More examples can be found at: Tables in WikiText CSS Utility Classes

      Tables in WikiText CSS Utility Classes

       10 octubre 2022 a las 8:43

      WikiText tables can be styled by applying CSS classes. For basic information on wiktext tables and how to style them, see Tables in WikiText.

      Table CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example:

      • |myclass anotherClass|k assigns the CSS classes "myclass" and "anotherClass" to the table
      • |This is a caption |c gives the table the caption "This is a caption"
      • |Header|Header|h adds a header row of cells with the text "Header"
      • |Footer|Footer|f adds a footer row of cells with the text "Footer"
      |myclass anotherClass|k
      |This is a caption |c
      |Cell1 |Cell2 |
      |Cell3 |Cell3 |
      |Header|Header|h
      |Footer|Footer|f
      

      Este es su aspecto:

      This is a caption
      Cell1Cell2
      Cell3Cell3
      HeaderHeader
      FooterFooter

      As seen above, the resulting table is left aligned and grows to fit the content. This is the browser default layout behaviour for tables. To get another behaviour, various CSS classes can be added into the "k row".

      Utility Classes

      New in: 5.2.4 The following outlines a few predefined CSS classes intended to make it simpler to style HTML block-elements and wikitext tables.

      General Utility Classes

      tc-centerCentres a block-element to the middle of the container
      tc-max-width Expands a block-element to use the maximum width of the container
      tc-max-width-80Sets the width of a block-element to use 80% of the maximum container width. This setting is useful with the tc-center class
      tc-edit-max-width Expands TextWidgets to use the maximum available width. See ControlPanel -> Info -> Basics
      tc-first-link-nowrapEnsures that any links in the first table column will never wrap to the next line

      Table Utility Classes

      tc-table-no-borderRemoves the borders of a table
      tc-first-col-min-widthThe first column of a table will take up minimal possible width. It adapts to the content

      Examples

      The following examples apply the style classes to tables but the "General Utility Classes" can as well be used on DIVs or other HTML block elements

      Centred Table

      To center a table horizontally, use tc-center:

      |tc-center|k
      |This is a caption |c
      |Cell1 |Cell2 |
      |Cell3 |Cell4 |
      |Header|Header|h
      |Footer|Footer|f
      

      Este es su aspecto:

      This is a caption
      Cell1Cell2
      Cell3Cell4
      HeaderHeader
      FooterFooter

      Centred Table, 80% Width

      To add empty left and right margins to a table that is otherwise full-tiddler-width, you can use tc-max-width-80

      |tc-center tc-max-width-80|k
      |This is a caption |c
      |Cell1 |<<.lorem>> |
      |<<.lorem>> |Cell4 |
      |Header|Header|h
      

      Este es su aspecto:

      This is a caption
      Cell1Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Cell4
      HeaderHeader

      Table with Maximum Width

      To expand a table to full tiddler width, use tc-max-width

      |tc-max-width|k
      |Header|Header|h
      |Cell1 |Cell2 |
      |Cell3 |Cell4 |
      

      Este es su aspecto:

      HeaderHeader
      Cell1Cell2
      Cell3Cell4

      Table with First Column Minimum Width

      The following example shows a simple "form" where the first columns width is adjusted to its content by means of tc-first-col-min-width

      |tc-max-width tc-first-col-min-width|k
      |Header|Header|h
      |Cell1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
      |Cell3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/>  |
      

      Este es su aspecto:

      HeaderHeader
      Cell1
      Cell3

      Table with Maximum Width TextWidgets

      Here, the previous "form" is styled further to give the TextWidgets full width by adding the class tc-edit-max-width

      |tc-max-width tc-first-col-min-width tc-edit-max-width|k
      |Header|Header|h
      |Cell1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
      |Cell3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/>  |
      

      Este es su aspecto:

      HeaderHeader
      Cell1
      Cell3

      Table with No Borders

      The following is a table with maximum width. It contains TextWidgets with maximum width. The first column is set to be minimum width. Further, all links in the first column are set to not line break (wrap) regardless of window resize.

      |tc-max-width tc-first-col-min-width tc-edit-max-width tc-table-no-border tc-first-link-nowrap|k
      | Cell1|<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
      |^ [[Link to a tiddler]]<br>some more text|<$edit-text tiddler="$:/temp/test-table-input" field="text"/>  |
      

      Este es su aspecto:

      tabs Macro

       21 julio 2021 a las 13:28

      The tabs macro presents a selection of tiddlers as a set of tabs that the user can switch between.

      The tabs display the caption field of a tiddler if it has one, or the tiddler's title otherwise. If specified, the tabs display the tooltip field of a tiddler as the respective button tooltip.

      By default the tabs are arranged horizontally above the content. To get vertical tabs, set the class parameter to tc-vertical.

      Parameters

      tabsList
      A filter selecting which tiddlers to include
      default
      The title of the tiddler whose tab is to be selected by default, if the state tiddler doesn't exist. The state tiddler takes precedence over this setting
      state
      The prefix for the title of a state tiddler for noting the currently selected tab, defaulting to $:/state/tab. It is recommended that this be a system tiddler
      class
      Additional CSS classes for the generated div elements. Multiple classes can be separated with spaces
      template
      Optionally, the title of a tiddler to use as a template for transcluding the content of the selected tab
      buttonTemplate
      Optionally, the title of a tiddler to use as a template for transcluding the content of the button for the selected tab
      retain
      Optionally, "yes" specifies that the content of the tabs should be retained when switching to another tab, avoiding re-rendering it (this can be useful to avoid video or audio sources unexpectedly resetting)
      actions
      Optionally, actions can be specified that are triggered when changing a tab. Within the actions, the title of the selected tab is available in the currentTab variable and the currentTiddler variable from outside the tabs macro is available in the save-currentTiddler
      explicitState
      Optionally, an explicit state title can be specified. It will be preferred over the internally computed (qualified) state title

      Within the template, the title of the selected tab is available in the currentTab variable.

      The currentTiddler variable is not affected by the tabs macro. This can put you in trouble if the list of tabs includes tiddlers that depend on the value of the currentTiddler, for example tiddlers listing children based on its own name. To overcome this problem you can use a TemplateTiddler like the following:

      <$tiddler tiddler=<<currentTab>>>
      <$transclude mode="block" />
      </$tiddler>

      Examples

      tabs Macro (Examples)

       21 febrero 2015 a las 21:17

      <<tabs "SampleTabOne SampleTabTwo SampleTabThree SampleTabFour" "SampleTabOne" "$:/state/tab1">>

      <<tabs "[tag[sampletab]]" "SampleTabTwo" "$:/state/tab2" "tc-vertical">>

      <<tabs "[tag[sampletab]nsort[order]]" "SampleTabThree" "$:/state/tab3" "tc-vertical">>

      tag Macro

       25 julio 2023 a las 21:12

      The tag macro generates a tag pill for a specified tag. Clicking the tag pill opens a dropdown. This can be compared to the tag-pill Macro which also features other parameters.

      If a list widget generates multiple tag macros for the same tag, clicking on one of them will open dropdowns on all of them. The simplest way to prevent this is to add the counter="transclusion" attribute to the list widget. See the examples below for more details.

      Parameters

      tag
      The title of the tag, defaulting to the current tiddler

      Examples

      tag Macro (Examples)

       25 julio 2023 a las 21:37

      <<tag>>
      <<tag Concepts>>

      If a list widget generates multiple tag macros for the same tag, clicking any of them opens dropdowns on all of them, as in the example below. This is usually unwanted.

      <$list filter="[tag[HelloThere]]">
      
      * <$link/> is tagged with: <$list filter="[<currentTiddler>tags[]]"> <<tag>> </$list>
      
      </$list>

      Adding the counter="transclusion" attribute to the list widget that generates multiple identical tag macros causes each of them to be identified as a unique one. Clicking on any of them opens only a single dropdown.

      <$list filter="[tag[HelloThere]]" counter="transclusion">
      
      * <$link/> is tagged with: <$list filter="[<currentTiddler>tags[]]"> <<tag>> </$list>
      
      </$list>

      A slightly more performant option is to use the variable="transclusion" attribute in the list widget. In this case, the variable <<transclusion>> has to be used inside the list widget instead of the <<currentTiddler>> .

      <$list filter="[tag[HelloThere]]" variable="transclusion">
      
      * <$link to=<<transclusion>>/> is tagged with: <$list filter="[<transclusion>tags[]]"> <<tag>> </$list>
      
      </$list>

      tag Operator

       26 noviembre 2016 a las 12:29
      purposefilter the input by tag
      inputa selection of titles
      suffixS = New in: 5.1.14 optional strict flag
      parameterT = the title of a tag
      outputthose input tiddlers that have tag T
      ! outputthose input tiddlers that do not have tag T

      Learn more about how to use Filters

      The output is sorted using the tag's list field and the tiddlers' list-before and list-after fields.

      The behaviour when T is empty depends on the settings of the S optional suffix:

      • if T is missing and S is either missing or set to "loose", then the output of tag is empty, and the output of !tag is a copy of the input.
      • New in: 5.1.14 if T is missing and S is set to "strict", then the output of both tag and !tag is a copy of the input

      Examples

      tag Operator (Examples)

       24 enero 2015 a las 12:29

      [tag[task]]

      [tag[task]!tag[done]]

      [!tag[task]]

      [all[shadows]tag[$:/tags/Stylesheet]]

      tag-picker Macro

       28 noviembre 2016 a las 19:14

      The tag-picker macro generates a combination of a text box and a button that allows a tag to be selected and added.

      Parameters

      actions
      Action widgets to be triggered when the pill is clicked. Within the text, the variable tag contains the title of the selected tag.
      tagField
      New in: 5.1.23 The field that gets updated with the selected tag. Defaults to tags.

      Examples

      tag-pill Macro

       28 noviembre 2016 a las 19:12

      The tag-pill macro generates a static tag pill showing a specified tag, but without the dropdown action provided by the tag Macro.

      Parameters

      tag
      The title of the tag
      element-tag
      The element name to be used for the pill (defaults to "span")
      element-attributes
      Additional attributes for the pill element
      actions
      Action widgets to be triggered when the pill is clicked. Within the text, the macro parameter tag contains the title of the selected tag.

      Examples

      Organizarse con etiquetas

       14 abril 2016 a las 17:24

      Poner etiquetas es una forma de organizar tiddlers en categorías.

      Por ejemplo, si tuvieras una serie de tiddlers que representa a un grupo de gente que conoces, podrías etiquetarlos como amigo, familiar, colega...etc, para indicar tu relación con ellos.

      Una etiqueta es, de hecho, un tiddler (o un tiddler en potencia) y también puede tener sus propias etiquetas. Además puedes añadir cualquier número de etiquetas a un mismo tiddler.

      En Crear y editar tiddlers te decimos cómo etiquetar tiddlers.

      Al etiquetar tiddlers, puedes ver, buscar y organizar la información de múltiples maneras:

      • Haciendo clic en las píldoras de colores de un tiddler tienes acceso inmediato a cualquiera de los tiddlers que tienen misma etiqueta, así como al tiddler que representa esa etiqueta y que contiene, en forma de índice, una lista de todos esos tiddlers etiquetados igual.
      • Si un tiddler sirve como etiqueta, la pestaña Etiquetado en el InfoPanel te mostrará qué tiddlers son los que llevan el título de ese tiddler como etiqueta.
      • La pestaña Más de la barra lateral presenta una vista general, organizada por solapas, que te permite acceder a todos los tiddlers etiquetados.
      • Puedes usar filtros para crear listas de tiddlers basadas en sus etiquetas. Puedes mostrar cualquier combinación de campos de esos tiddlers. Por ejemplo, puedes confeccionar un glosario haciendo una lista de los campos "título" y "texto" de todos los tiddlers con la etiqueta "Glosario". Tales listas pueden formatearse como prefieras con viñetas, números, o separadas por comas.
      • Hay un número de etiquetas especiales de sistema que controlan tanto el layout de los tiddlers, como el de toda la página. Más información en Diseño de tiddlers y de página

      Hay un par más de cosas que se pueden hacer con etiquetas:

      Ponerles color e icono

      Se puede usar el gestor de etiquetas de la pestaña Más de la barra lateral para cambiarles el color o para añadirles un icono.

      • Para cambiar el color, haz clic en el botón de la columna Color y selecciona uno nuevo en la rueda. También puedes hacer clic en el icono de la columna Información e introducir un valor CSS en el campo Color
      • Para añadir un icono a la etiqueta, haz clic en el botón de la columna Icono y selecciona uno de entre los disponibles. También, si sabes el nombre del tiddler que contiene el icono que quieres usar, puedes introducirlo directamente en el campo correspondiente de la columna Información
      • To change the icon, click the button in the Icon column and choose from the list of available icons

      Cambiar el orden de etiquetado

      Por defecto, los tiddlers se muestran en orden alfabético.

      Si quieres cambiarlo, añade el campo list al tiddler y como valor enumera los tiddlers según el orden que quieras que tengan en la lista.

      El campo list no necesita enumerarlos a todos. En Orden de los tiddlers etiquetados se especifican más concretamente las reglas que sigue TiddlyWiki para ordenarlos.

      tagging Operator

       3 febrero 2015 a las 19:16
      purposefind the tiddlers that have the input tags
      inputa selection of tags
      parameternone
      outputthe titles of any tiddlers that carry the input tags

      Learn more about how to use Filters

      Each input tag is processed in turn. The list of tiddlers carrying that tag is generated, sorted, and then dominantly appended to the operator's overall output.

      Examples

      tagging Operator (Examples)

       24 enero 2015 a las 13:36

      [[task]tagging[]]
      → same as [tag[task]]

      Concepts task +[tagging[]]
      → tiddlers that are tagged Concepts or task

      [all[current]tagging[]]
      → tiddlers tagged with the current one

      tags Operator

       3 febrero 2015 a las 19:16
      purposeselect all tags of the input tiddlers
      inputa selection of titles
      parameternone
      outputall the tags carried by the input tiddlers

      Learn more about how to use Filters

      Each input title is processed in turn. The corresponding tiddler's tags are retrieved (in order of appearance in the tags field) and then dominantly appended to the operator's output.

      Examples

      tags Operator (Examples)

       24 enero 2015 a las 13:42

      [[Filter Operators]tags[]]

      [all[shadows]tags[]]

      [all[shadows+tiddlers]tags[]sort[]]

      Tiddlers etiqueta

       26 abril 2016 a las 10:08

      Un TagTiddler o "tiddler etiqueta" es un tiddler cuyo título se usa para etiquetar a otros.

      La pestaña Etiquetado del InfoPanel muestra qué tiddlers usan el título del actual como etiqueta.

      Se pueden usar etiquetas sin correspondencia con un TagTiddler.

      tan Operator

       21 octubre 2021 a las 23:28
      purposecalculate the tangent value of a list of angles (given in radians)
      inputa selection of titles
      outputthe tangent of the input angles

      Learn more about how to use Filters

      tan Operator (Examples)

       20 octubre 2021 a las 15:22

      [[2]tan[]]

      =1 =2 =3 =4 +[tan[]]

      task

       3 junio 2016 a las 16:24

      Tarea de muestra para el Ejemplo de administración de tareas

      Ejemplo de administración de tareas

       16 abril 2016 a las 12:52

      TiddlyWiki5 sirve también como sencillo sistema de administración de tareas, sin necesidad de mayores complicaciones. La idea consiste en etiquetar las tareas como task, de modo que una vez hechas se etiqueten también como done. Así resulta bastante sencillo generar listas de tareas.

      Aquí tienes un ejemplo:

      Tareas pendientes

      Tareas completadas

      TaskManagementExample (Draggable)

       7 marzo 2018 a las 15:35

      This is a version of the TaskManagementExample enhanced with the ability to drag and drop the task list to re-order them.

      Outstanding tasks

      Drag the tasks to re-order them

      Completed tasks

      (Listed in reverse order of completion)

      TaskManagementExampleDraggableTemplate

       7 marzo 2018 a las 15:35

      Estilo de redacción técnica

       19 abril 2016 a las 10:05

      Al redactar material didáctico, empieza por planificar la información que quieres presentar como un itinerario: debe ser una progresión sencilla, lógica y directa de ideas, sin retrocesos ni saltos. Aplica este enfoque incluso en frases sueltas, de modo que el discurso vaya de la causa al efecto y de lo viejo conocido a lo nuevo desconocido.

      Usa frases cortas y sencillas. Una frase en estilo técnico y claro raramente contiene más de una idea, por eso se evita el uso de paréntesis. De igual manera, haz que la estructura de los párrafos sea sencilla. Una presentación lisa y llana suele ser más fácil de comprender que una una exposición jerarquizada de conceptos.

      A menudo se puede simplificar una frase sin necesidad de cambiar su significado, tanto como para ajustar su vocabulario o estructura gramatical. "Se realiza la ejecución de la macro" sólo significa "Macro en ejecución". "Tus expectativas podrían ser..." es lo mismo que "puedes esperar que...".

      Usa preferentemente la voz activa: "Fulano crea un tiddler" es mejor que "un tiddler es creado por Fulano" o "se crea un tiddler por Fulano". El uso de oraciones pasivas o impersonales puede ser útil cuando se quiere que el lector se centre en una acción o en su resultado: "se crea un tiddler", pero en general es más claro partir de una causa y explicar su efecto y decir algo del estilo de "esta acción crea un tiddler", de la forma más natural y sencilla posible.

      En la documentación generalmente se presentan conceptos paralelos, bien por su parecido, bien por su diferencia. Al lector puede serle más fácil comprenderlo si se usan las mismas frases o la misma estructura de exposición, pero debe de hacerse de manera equilibrada para que no resulte monótono.

      Son preferibles las instrucciones claras y precisas a una larga e intrincada explicación. Si algo tiene nombre, úsalo. Si no lo tiene, ponlo en un tiddler.

      TemplateTiddlers

       20 febrero 2015 a las 16:09

      A template tiddler is not actually a type of tiddler, it is a role in which a tiddler can be used.

      Templates are a way to re-use chunks of WikiText.

      Transcluding through a template extends the basic functionality of Transclusion by combining two tiddlers:

      • A template tiddler that contains the WikiText to be displayed. It can contain transclusions that reference fields in the current tiddler
      • A target tiddler that identifies which tiddler is to be treated as current when resolving references to fields

      The best example of templating is the main story river in TiddlyWiki. Each tiddler in the story river is rendered through a ViewTemplate that specifies how each field is to be rendered.

      See Transclusion with Templates for details.

      Diez razones para cambiar a TiddlyWiki

       16 abril 2016 a las 7:33
      1. Con TiddlyWiki puedes organizar tus notas a tu manera, no a la suya. Tus notas se adaptan a tu forma de pensar, en lugar de ponerte un corsé estructurado jerárquicamente en cuadernos y pestañas
      2. El enfoque no linear deTiddlyWiki's te hará ver tu información de formas nuevas y más útiles
      3. Encontrar tus notas en TiddlyWiki es cosa de un segundo
      4. Hay muchas maneras de personalizar y adaptar cada aspecto de TiddlyWiki
      5. TiddlyWiki es libre y gratuito y es compatible, además, con cualquier plataforma. Funciona en cualquier navegador web y no necesitas comprar ningún programa ni pagar suscripción alguna para usarlo como se te antoje.
      6. TiddlyWiki promueve el libre intercambio de información. Hay muchas formas de compartir información en TiddlyWiki
      7. Con TiddlyWiki, tu información es tuya y sólo tuya y puedes guardarla donde te dé la gana: en el ordenador, en el móvil, en la tablet, en un pendrive, en Dropbox, en un servidor... Tú mandas.
      8. TiddlyWiki cuenta con un número creciente de plugins, temas, widgets e idiomas en permanente desarrollo
      9. La comunidad TiddlyWiki es amable y hará siempre lo que pueda para proporcionarte la ayuda que necesitas
      10. Si además eres programador, encontrarás incluso más formas de jugar con TiddlyWiki, porque cuanto más aprendes de TiddlyWiki, más te diviertes con él.

      Testimonials - Joe Armstrong

       

      The TiddlyWiki is the best software I've ever found for organising my ideas.

      It's well worth spending an hour or so playing with it to see how it can help you. This will be time well-spent and will change how you think and how you organise your ideas.

      Testimonials - Network World

       

      TiddlyWiki gets a Gearhead rating of 6 out of 5 (it's that good).

      Finding code that works flawlessly after just two or three years is magical enough but after seven years?!

      Testimonials - Product Hunt

       

      Text preview

       29 octubre 2021 a las 10:01

      Pressing the eye icon will open or close a preview window showing the results of rendering the WikiText (the icon-eye will also open or close).

      Right to the eye there is another icon, , which when clicked, shows you a dropdown which gives you access to six different types of preview:

      • output shows you the text as you see it when you do not edit the tiddler.
      • html shows you the source code of that output. Your web browser uses this source code to display webpages.
      • parsetree and widgettree show you the two object trees that TiddlyWiki internally generates from WikiText. The parsetree collects basic information about your WikiText. From the informations of the parsetree the widgettree then generates extended informations and finally the above html (and the widgettree also does other things).
      • differences from current shows you the differences since the tiddler was last saved. Deleted parts are red, added parts are green.
      • differences from shadow (if any) does the same, but this time it shows you the differences to the underlying shadow-tiddler.

      By default, the preview pane button controls whether the preview pane is displayed for all tiddlers that are open for editing. There is a hidden setting to make the button work on a per-tiddler basis

      The variable tv-tiddler-preview can be used to detect whether content is being displayed in the preview pane.

      Cortatextos

       5 junio 2016 a las 5:07

      El Cortatextos es una edición especial que contiene herramientas para dividir largos textos en tiddlers individuales.

      https://tiddlywiki.com/editions/text-slicer/

      TextReference

       16 diciembre 2016 a las 17:35

      A TextReference is a general purpose way to describe a fragment of text as either a field of a tiddler, or an index within a data tiddler.

      In different situations, text references can be used to retrieve values, or to specify a value that should be modified.

      A TextReference consists of several parts:

      • The title of the target tiddler. If omitted, it defaults to the Current Tiddler
      • Either one of:
        • The name of a field (marked with !!)
        • The name of an index within a data tiddler (marked with ##)
      • If both the field and index are omitted, the text field is used as the default

      Most of the parts of a text reference can be optional:

      • tiddlerTitle - the title field of the specified tiddler
      • tiddlerTitle!!field - a tiddler field (eg, modified, modifier, type etc)
      • !!field - a field of the current tiddler
      • tiddlerTitle##propertyIndex - extracts a named property from DataTiddlers

      Text references can be used in several places:

      Note the distinction between a text reference such as foo!!bar and a transclusion of a text reference such as {{foo!!bar}}

      TextWidget

       15 enero 2019 a las :00

      Introduction

      The text widget displays plain text without parsing it as WikiText, opposite of WikifyWidget.

      Content and Attributes

      The content of the <$text> widget is not used.

      AttributeDescription
      textThe text to display

      Example

      <$vars string="//italic//">
      
      * <<string>>
      * <$text text=<<string>>/>
      
      </$vars>
      

      Este es su aspecto:

      • italic
      • //italic//
      
      The text-test field of this tiddler has a field value: <$text text={{!!text-test}}/>
      
      It displays in its normal WikiText format as: {{!!text-test}}
      

      Este es su aspecto:

      The text-test field of this tiddler has a field value: e=mc^^2^^

      It displays in its normal WikiText format as: e=mc2

      The Extended Listops Filters

       1 marzo 2023 a las 17:28

      Primera regla al usar TiddlyWiki

       21 abril 2016 a las 14:47

      Historias de terror

      Cada tanto se cuentan en los grupos de discusión historias que parten el corazón sobre usuarios que por uno u otro motivo han perdido los datos guardados en TiddlyWiki:

      Mi TiddlyWiki acaba de ser borrado por completo durante un cuelgue de Firefox cuando guardaba...

      https://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion

      La última vez que lo usé fue anoche, en casa, en mi ordenador con Windows 7. Le di a Vale para guardar la última entrada y se guardó via TiddlyFox. Expulsé el USB, llegué al trabajo esta mañana, enchufé el USB, metí la contraseña y, como se negaba a abrir, después de varios intentos busqué el archivo html de TW5. Fue entonces cuando me di cuenta de que el tamaño del archivo ya no es de 3Mb, sino de 80Kb. Me parece que lo he perdido todo.

      https://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion

      ¡Que no te pase a ti!!

      La primera regla de uso de TiddlyWiki es:

      ¡¡Haz copia de seguridad!!

      TiddlyWiki es un sistema altamente flexible y customizable que te pone firmemente a cargo de tus datos. En el desarrollo de TiddlyWiki se pone todo el cuidado posible para garantizar que es un lugar seguro donde guardar tus datos más preciados. Sin embargo y en última instancia, la responsibilidad de reducir el riesgo de pérdida de datos recae sobre sus usuarios.

      La mejor manera de asegurarse de que tus datos están seguros es mediante un riguroso sistema de "backup" o copia de seguridad.

      • Usa servicios del estilo de Dropbox para tener siempre una copia de seguridad online. Dropbox tiene además una característica especial, que guarda y permite recuperar versiones anteriores de un archivo.
      • Haz copia de seguridad antes de actualizar TiddlyWiki a una nueva versión
      • Piensa siempre en cómo protegerte en el peor de los casos: ¿qué pasa si falla el USB o se rompe el disco duro? ¿Qué pasa si el ordenador se bloquea por un virus?
      • Actúa de manera defensiva y redundante: haz varias copias de seguridad y mantenlas en distintos sitios

      Then Filter Run Prefix

       6 mayo 2023 a las 18:29

      New in: 5.3.0

      purposereplace any input to this filter run with its output, only evaluating the run when there is any input
      inputall tiddler titles
      outputthe output of this filter run replaces the output of previous runs unless it is an empty list (see below)

      :thenrun

      Introduction

      The :then filter run prefix is used to replace the result of all previous filter runs with its output.

      If the result of all previous runs is an empty list, the :then prefixed filter run is not evaluated.

      If the output of a :then prefixed filter run is itself an empty list, the result of all previous filter runs is passed through unaltered.

      Note that a list with a single empty string item is not an empty list.

      :then run prefix versus the then operator

      The major difference between the then operator and a :then prefixed filter run is that the operator will replace each item of the input Title List with its parameter while :then will replace the whole input list with the result of its run.

      :then Filter Run Prefixthen Operator
      [tag[WikiText]] :then[[true]]
      [tag[WikiText]then[true]]

      To make them equivalent, additional filter steps may be added:

      [tag[WikiText]count[]compare:number:gt[0]then[true]]

      Examples

      Then Filter Run Prefix (Examples)

       17 junio 2023 a las 19:37

      Conditional Execution

      The :then filter run prefix can be used to avoid the need for nested ListWidgets or Macro Definitions in WikiText.

      <$edit-text field="search" placeholder="Search title"/>
      
      <$let searchTerm={{!!search}}>
      <$list filter="[<searchTerm>minlength[3]] :then[!is[system]search:title<searchTerm>]" template="$:/core/ui/ListItemTemplate"/>
      </$let>

      Este es su aspecto:

      Conditional (Sub)Filters

      The :then filter run prefix can be combined with the :else prefix to create conditional filters. In this example, the fields used in searchSubfilter for searching depend on the value of $:/temp/searchFields and the sort order used by sortSubfilter depends on the value of $:/temp/searchSort. Checkboxes are used to set the values of these tiddlers.

      Note that each filter run of the subfilter receives the input of the subfilter operator as input

      Since the then and else operators cannot call subfilters or perform additional filter steps, they cannot be used for such applications.

      <$checkbox tiddler="$:/temp/searchSort"
            field="text"
            checked="chrono" unchecked="alpha" default="alpha">
        Sort chronologically (newest first)
      </$checkbox><br/>
      <$checkbox tiddler="$:/temp/searchFields"
            field="text"
            checked="title" unchecked="default" default="title">
        Search <<.field title>> only
      </$checkbox><p/>
      <$let searchSubfilter="[{$:/temp/searchFields}match[default]] :then[search[prefix]] :else[search:title[prefix]]"
            sortSubfilter="[{$:/temp/searchSort}match[chrono]] :then[!nsort[modified]] :else[sort[title]]"
            limit=10 >
        <$list filter="[all[tiddlers]!is[system]subfilter<searchSubfilter>subfilter<sortSubfilter>first<limit>]">
          <$link/> (<$text text={{{ [{!!modified}format:date[YYYY-0MM-0DD]] }}} />)<br/>
        </$list>
        <$list filter="[all[tiddlers]!is[system]subfilter<searchSubfilter>rest<limit>count[]]">
          ... and <<currentTiddler>> more.
        </$list>
      </$let>

      Este es su aspecto:


      addprefix Operator (2015-02-03)
      addprefix Operator (Examples) (2015-01-18)
      Cascade Filter Run Prefix (2021-11-30)
      Cascade Filter Run Prefix (Examples) (2021-12-04)
      Filter Filter Run Prefix (2021-11-29)
      Filter Filter Run Prefix (Examples) (2021-12-04)
      Filter Run Prefix (Examples) (2021-11-29)
      Intersection Filter Run Prefix (2021-11-28)
      Intersection Filter Run Prefix (Examples) (2021-11-28)
      Map Filter Run Prefix (2022-07-20)
      ... and 14 more.

      then Operator

       1 mayo 2023 a las 18:43
      purposereplace input titles by a constant string
      inputa selection of titles
      parameterT = a string
      outputthe input titles with each one replaced by the string T

      Learn more about how to use Filters

      New in: 5.1.20 See Conditional Operators for an overview.

      The Then Filter Run Prefix has a similar purpose to the then operator. See its documentation for a comparison of usage.

      Examples

      then Operator (Examples)

       2 agosto 2019 a las 12:35

      [[HelloThereMissing]is[missing]then[yes]]

      [[HelloThere]is[missing]then[yes]]

      Third

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      ThirdOne

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      ThirdThree

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      ThirdTwo

       14 noviembre 2021 a las 1:36

      This is an example tiddler. See Table-of-Contents Macros (Examples).

      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      thisTiddler Variable

       5 mayo 2023 a las 21:01

      New in: 5.3.0 The thisTiddler variable is set by the $transclude widget to contain the title of the tiddler that was transcluded. This means that within transclusions thisTiddler will contain the title of the transcluded tiddler. It is not affected by macros, which means that within a macro thisTiddler will contain the title of the tiddler from which the macro was invoked. Intermediate, nested macro calls are ignored.

      There are two key usages for thisTiddler:

      • Within a transcluded template, thisTiddler points to the template itself, making it possible for the template to access data stored in other fields of the template
      • Within a macro, thisTiddler points to the template that invoked the macro. If the macro was invoked by another macro, the template that invoked that macro is returned, and so on

      Compare storyTiddler and currentTiddler.

      Examples

      thisTiddler Variable (Examples)

       4 marzo 2023 a las 12:41

      The first example shows how thisTiddler works whithin transcluded template. Here the SampleTemplate is a template for demonstration.

      {{||SampleTemplate}}

      The second example shows thisTiddler in the body of tiddler and inside a macro.

      <$text text=<<thisTiddler>>/>

      \define example() <$text text=<<thisTiddler>>/>
      <<example>>
      

      thumbnail Macro

       25 marzo 2015 a las 17:23

      The thumbnail macros are used to create linkable thumbnail panels.

      Parameters

      (none)

      Examples

      thumbnail Macro (Examples)

       25 marzo 2015 a las 17:21

      Examples

      Here is an example of the thumbnail-right macro used to create a video thumbnail that floats to the right of the text

      <<thumbnail-right link:"Introduction Video" image:"Introduction Video Thumbnail.jpg" caption:"Introduction to ~TiddlyWiki" icon:"{{$:/core/images/video}}" color:"red">>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

      Thursday

       16 noviembre 2021 a las 22:11

      This example tiddler is used to illustrate some of the Filter Operators.

      before and after

      These examples make use of the Days of the Week tiddler.

      [list[Days of the Week]before{!!title}]

      [list[Days of the Week]after{!!title}]

      Tiddler Colour Cascade

       6 diciembre 2021 a las 16:53

      The tiddler colour cascade is a cascade used to choose which colour should be used for a particular tiddler.

      Core tiddler colour cascades can be found in $:/core/macros/tag, $:/core/ui/Components/tag-link, $:/core/ui/EditTemplate/tags, $:/core/ui/TagPickerTagTemplate, $:/core/ui/TagTemplate and $:/core/ui/ViewTemplate/title

      The default tiddler colour cascade consists of:

      1. If the tiddler has a color field, use the value as the colour
      2. If the tiddler $:/config/DefaultTiddlerColour exists, use the value as the colour

      You can see the current settings for the tiddler colour cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> Tiddler Colour tab.

        Tiddler Commander by Mohammad

         16 noviembre 2020 a las 20:46

        Tiddler Commander plugin, in short Commander is a unique tool for batch operations on tiddlers.

        https://kookma.github.io/TW-Commander/

        Commander has many features including:

        • Bulk tiddler creation/deletion
        • Selective operation
        • Combo search to filter and select tiddlers
        • Title operation: add, remove prefixes and suffixes, also remove cahras form begining and end of title (on renaming tiddlers, relink can be used to update title in other tiddlers)
        • Tag operation: add, remove, replace
        • Field operation: add, remove, rename, and set field value
        • SnR, search and replace in all fields including text, tags, title, and common fields
        • Inspect, to review and inspect tiddlers in one place, scroll among them and edit all fields (including common fields), tags, text (title is an exception!)
        • Log, create logs of all operations
        • Search, save and load any combination of filter search

        Tiddler Fishes.svg

         

        Tiddler Icon Cascade

         6 diciembre 2021 a las 16:00

        The tiddler icon cascade is a cascade used to choose which icon should be used for a particular tiddler.

        The core tiddler icon cascade can be found in $:/core/ui/TiddlerIcon

        The default tiddler icon cascade consists of:

        1. If the tiddler has an icon field, use the value as the title of the icon tiddler
        2. If the tiddler $:/config/DefaultTiddlerIcon exists, use the value as the title of the icon tiddler

        You can see the current settings for the tiddler icon cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> Tiddler Icon tab.

        Tiddler Poster.png

         

        Estructura de tiddlers

         18 abril 2016 a las 16:57

        Conforme a nuestra filosofía, los tiddlers de la documentación son breves y están interrelacionados.

        Cuando parece que un tiddler necesita subapartardos, es señal de que quizá convendría dividirlo en tiddlers más pequeños. Es razonable, sin embargo, que un tiddler de referencia vaya encabezado por una sección introductoria general, seguido de una serie de secciones.

        Coherencia terminológica es esencial para no confundir al lector.

        Consistencia tipográfica y de puntuación dan calidad profesional a la documentación. El uso de macros se recomienda por razones de consistencia del texto y de mantenimiento de futuras revisiones.

        Se aconseja el uso de listas numeradas para intrucciones paso-a-paso y el de viñetas para listas cuyo orden es arbitrario. Se prefiere el uso de listas de definición sobre el de listas con viñetas si cada elemento de la lista comienza con un término y dos puntos. En la medida de lo posible conviene evitar niveles excesivos de anidamiento de listas.

        Conviene usar tablas cuando la información encaja naturalmente en tres o cuatro columnas y para listas de parámetros, atributos... etc

        La documentación describe la realidad actual de TiddlyWiki y debe evitarse discutir futuras aspiraciones del proyecto.

        Estilo de los títulos

         18 abril 2016 a las 16:36

        Muchos tiddlers de la documentación, especialmente los de referencia, hacen referencia a un único concepto. Sus títulos debieran ser sintagmas nominales simples y claros como List Widget, TiddlerFields o Material de referencia.

        En la edición original inglesa, cada sustantivo del título se escribe con mayúscula, mientras que artículos, preposiciones y conjunciones se escriben con minúscula. Ej:Ejemplo de Título de la Edición en Inglés

        En la presente edición en castellano, sólo lleva mayúscula la palabra inicial del título y el resto se escribe en minúscula y termina sin punto: Ejemplo de título de la edición en castellano

        Las etiquetas siguen también este mismo patrón.

        Los títulos de este tipo son en plural si se refieren a una categoría de elementos: —Ej: Atajos de teclado—, ya que etiquetan tiddlers más específicos dentro de su categoría.

        Cuando el objeto del título sea un concepto más que una categoría, se enuncia en singular. Ej:List Widget, Operador de etiqueta

        En la edición inglesa, los títulos comienzan enunciando su parte más distintiva. Por ejemplo, los tiddlers que documentan operadores de filtro tienen títulos del estilo addprefix Operator. De este modo, en teoría, el lector puede identificar rápidamente un tiddler particular en una lista de enlaces.

        En la presente edición en castellano, sin embargo y por coherencia gramatical, los títulos se enuncian en el orden lógico y acostumbrado en nuestra lengua. El ejemplo anterior sería, por tanto: Operador addprefix. Nótese, sin embargo, lo siguiente:

        • Con el fin de mantener la integridad del código de TiddlyWiki y las referencias de su documentación, así como de facilitar futuras actualizaciones, estamos obligados a dejar los títulos de de la documentación original en inglés sin traducir. Esto, que podría ser un inconveniente, nos da la ventaja de poder explotar las funcionalidades de TiddlyWiki y así ofrecer al lector un doble juego de títulos para cada tiddler:
          • Un título completo, que es el que corresponde a la traducción del título original, que se muestra en el encabezamiento de cada tiddler (en el presente: Estilo de los títulos)
          • Un título abreviado, que es una descripción esquemática del contenido del tiddler, lo que resulta útil para identificar un tiddler en particular en una lista de enlaces o en el índice de la barra lateral (en el presente: Estilo: Títulos)

        Al redactar material de referencia debe evitarse que el título comience con artículo y en general debe evitarse el abuso de determinantes.

        En anteriores ediciones, muchos títulos se escribían en CamelCase. Para hacerlos más legibles, se ha ido abandonando gradualmente esta práctica y se desaconseja su uso, salvo en casos como TiddlyWiki o JavaScript, ya que tal es su forma estándar.

        TiddlerFields

         9 enero 2022 a las 10:14

        TiddlerFields are name:value pairs that make up a tiddler. Field names must be lowercase letters, digits or the characters - (dash), _ (underscore) and . (period).

        The standard fields are:

        Field NameDescription
        titleNombre único de un tiddler
        textTexto principal de un tiddler
        modifiedFecha y hora de última modificación
        modifierNombre del tiddler asociado con quien modificó por última vez el presente tiddler
        createdFecha de creación del tiddler
        creatorNombre del autor del tiddler
        tagsLista de etiquetas asignadas al tiddler
        typeTipo de contenido en un tiddler
        listLista ordenada de tiddlers asociados al presente tiddler – see ListField
        captionTexto que se muestra en una pestaña o botón, con independencia del título del tiddler que lo define

        Other fields used by the core are:

        Field NameDescription
        class
        code-body New in: 5.2.1 La plantilla de vista mostrará el tiddler como código si se establece en yes
        colorValor CSS del color de fondo asociado a un tiddler
        descriptionDescripción de un complemento, extensión, o diálogo modal
        draft.ofTítulo del tiddler del que el actual es borrador
        draft.titleNuevo título propuesto para el presente borrador
        footerTexto al pie en ventanas modales
        hide-bodyLa plantilla de vista ocultará los cuerpos de los tiddlers si se establece en yes
        iconNombre del tiddler que contiene el icono que se quiere asociar al presente tiddler
        librarySi su valor es yes, indica que el tiddler debe guardarse como librería de JavaScript
        list-afterTítulo del tiddler tras el que el presente será añadido a una lista de tiddlers.
        list-beforeTítulo del tiddler antes del que el presente será añadido a una lista
        Si el campo existe pero está vacío, el tiddler se añadirá al principio de la lista
        nameNombre asociado con un complemento o extensión
        plugin-priorityValor numérico que indica la prioridad de un complemento o extensión
        plugin-typeTipo de complemento o extensión
        sourceDirección de la fuente asociada a un tiddler
        subtitleSubtítulo en ventanas modales
        throttle.refreshSi está presente, regula las actualizaciones de este tiddler
        toc-linkSuprime el enlace del tiddler en la tabla de contenido si se establece en no
        _canonical_uriDirección (URI) completa -absoluta o relativa- de un tiddler externo de imagen

        The TiddlyWebAdaptor uses a few more fields:

        Field NameDescription
        bagNombre de la bolsa de la que procede un tiddler
        revisionRevisión del tiddler existente en el servidor
        _is_skinnySi está presente, indica que el campo de texto tiddler debe cargarse desde el servidor

        Details of the fields used in this TiddlyWiki are shown in the control panel under the Información tab >> Avanzado sub-tab >> Tiddler Fields

        TiddlerFiles

         14 julio 2021 a las 14:07

        Tiddlers can be stored in text files in several different formats. Files containing single tiddlers can also have an auxiliary .meta file formatted as a sequence of name:value pairs:

        title: TheTitle
        modifier: someone

        TiddlyWeb-style .tid files

        These files consist of a sequence of lines containing name:value pairs, a blank line and then the text of the tiddler. For example:

        title: MyTiddler
        modifier: Jeremy
        
        This is the text of my tiddler.

        Note that many text editors require that files include a terminating newline. If you want to avoid including the terminating newline in the text of the tiddler you can use this alternative syntax:

        title: MyTiddler
        modifier: Jeremy
        text: This is the text of my tiddler.

        The ContentType application/x-tiddler is used internally for these files

        TiddlyWiki <DIV> .tiddler files

        In TiddlyWiki 5, *.tiddler files look like this:

        <div title="AnotherExampleStyleSheet" modifier="blaine" created="201102111106" modified="201102111310" tags="examples" creator="psd">
        <pre>Note that there is an embedded <pre> tag, and line feeds are not escaped.
        
        And, weirdly, there is no HTML encoding of the body.</pre>
        </div>

        These *.tiddler files are not exactly the same as the tiddlers inside a TiddlyWiki HTML file where they are HTML encoded.

        Older *.tiddler files more closely matched the store format used by TiddlyWiki at the time:

        <div tiddler="AnotherExampleStyleSheet" modifier="JeremyRuston" modified="200508181432" created="200508181432" tags="examples">This is an old-school .tiddler file, without an embedded &lt;pre&gt; tag.\nNote how the body is &quot;HTML encoded&quot; and new lines are escaped to \\n</div>

        The ContentType application/x-tiddler-html-div is used internally for these files

        TiddlyWeb-style JSON files

        These files are a straightforward array of hashmaps of name:value properties. All field values must be specified as strings.

        For example:

        [
        	{
        		"title": "First Tiddler",
        		"text": "Text of first tiddler",
        		"tags": "one two [[t h r e e]]"
        	},{
        		"title": "Second Tiddler",
        		"text": "Text of second tiddler",
        		"modified": "20150216171751154"
        	}
        ]

        The ContentType application/json is used internally for these files.

        Note that JSON files that do not conform to the tiddler structure will instead be imported as a single tiddler containing the JSON data.

        New JSON-based format for TiddlyWiki HTML files

        The new format for TiddlyWiki HTML files embeds the tiddlers in JSON format within a script tag:

        <script class="tiddlywiki-tiddler-store" type="application/json">[
        {"title": "A","text": "One"},
        {"title": "B","text": "Two"}
        ]</script>

        Old DIV-based format for TiddlyWiki HTML files

        TiddlyWiki Classic and TiddlyWiki 5 prior to version v5.2.0 stored tiddlers encoded in <DIV> format.

        For TiddlyWiki to import an unencrypted DIV-based HTML file, it requires a <div id="storeArea"> containing tiddler DIVs as explained above. For example:

        <div id="storeArea">
        <div created="20130302085406905" modified="20130302084548184" tags="Examples" title="A tiddler title">
        <pre>HTML encoded text of tiddler
        </pre>
        </div>
        <div created="20140315085406905" modified="20140321084548184" tags="One Two [[Three with Space]]" title="Another title" customfield="field value">
        <pre>Text of this tiddler
        </pre>
        </div>
        </div>

        Enlaces - TiddlerLinks

         14 abril 2016 a las 7:16

        Un enlace es la región de un tiddler sobre la que se puede hacer clic para navegar a otro. El comportamiento de navegación lo determina el StoryView actual. La vista "classic" muestra la historia como una secuencia lineal de tiddlers.

        Si se mantiene pulsada la tecla Ctrl o command al hacer clic en un enlace, se abre el tiddler de destino, pero no se navega hasta él. Esta es una forma muy útil de poner en cola una serie de tiddlers para su lectura.

        Los enlaces o links son útiles para modelar relaciones orgánicas entre tiddlers y, más particularmente, para iterar la navegación entre tiddlers.

        El Panel de información muestra en la pestaña Referencias una lista de los links que llegan al tiddler.

        En Filtros se pueden incluir los siguientes operadores para trabajar con enlaces:

        • [links[]] - devuelve el título de los tiddlers enlazados desde el tiddler o selección actual de tiddlers.
        • [backlinks[]] - devuelve el título de los tiddlers que enlazan con el tiddler o selección actual de tiddlers.

        TiddlyWiki5 modifica la apariencia de los enlaces para dar información adicional sobre el tipo de tiddler al que se enlaza:

        Descripción del linkApariencia
        A un tiddler existenteTalCual
        A un tiddler que no existe (faltante)TalCual
        A un tiddler oculto que no ha sido anuladoTalCual
        A un tiddler oculto que ha sido anulado por un tiddler comúnTalCual

        Los enlaces externos se muestran así: https://tiddlywiki.com/ o así.

        Tiddlers

         12 abril 2016 a las 18:39

        Los Tiddlers son las unidades fundamentales de información en TiddlyWiki.

        Funcionan mejor cuanto más pequeños son, de modo que puedan entretejerse más fácilmente de las más diferentes formas posibles.

        Otros sistemas tienen conceptos análogos con nombres genéricos como "items", "entradas", "entidades", "nodos" o "records". TiddlyWiki es de la opinión de que es preferible ser vagamente preciso a ser vagamente genérico; de ahí que nos guste «Tiddler», que en origen es una palabra coloquial inglesa, usada para referirse a un pez pequeño.

        Internamente, los tiddlers se componen de una lista de valores únicos llamados campos. El único campo obligatorio es título, pero los tiddlers útiles tienen también un campo texto y todos o algunos de los campos estándar que se muestran en TiddlerFields.

        En TiddlyWiki, los tiddlers están por todas partes. Sirven para guardarlo todo, desde módulos en código de JavaScript, a ajustes y configuraciones asociadas a la interfaz de usuario.

        TiddlerWidget

         1 septiembre 2017 a las 11:12

        Introduction

        The TiddlerWidget is used to set a value for the current tiddler variable, valid within the scope of the TiddlerWidget.

        Content and Attributes

        AttributeDescription
        tiddlerThe title of the tiddler to become the new current tiddler

        CSS Class Variables

        The tiddler widget assigns several useful CSS classes to variables that it creates:

        missingTiddlerClass
        tc-tiddler-exists or...
        tc-tiddler-missing depending on whether the tiddler exists
        shadowTiddlerClass
        tc-tiddler-shadow if the tiddler is a shadow tiddler
        systemTiddlerClass
        tc-tiddler-system if the tiddler is a system tiddler
        tiddlerTagClasses
        a space separated list of CSS classes named tc-tagged-{tagname},
        e.g. tc-tagged-introduction

        Note: tag names are URI encoded which means that the tag $:/tags/Macro appears as the CSS class tc-tagged-%24%3A%2Ftags%2FMacro. See How to apply custom styles by tag for more details

        You can use these variables like this:

        <$tiddler tiddler="MyOtherTiddler">
        <div class=<<missingTiddlerClass>>>
        <$transclude/>
        </div>
        </$tiddler>

        See also $:/core/ui/ViewTemplate.

        TiddlyBucket - Save to AWS or Google Storage

         26 noviembre 2022 a las 19:28

        TiddlyBucket - Save to AWS or Google Storage using Go

        This tool replicates the TiddlyWeb backend API and can read and write the tiddler files to a local directory like the canonical TiddlyWiki5 app. But, in addition, it can do the same with a given a Google Cloud Storage bucket or AWS S3 bucket. Written in the Go programming language

        TiddlyChrome by Arlen Beiler

         6 enero 2021 a las 15:10

        An extension application for Google Chrome that enables TiddlyWiki to save changes directly to the file system.

        https://github.com/Arlen22/tiddly-chrome-app/

        TiddlyClip by buggyjay

         11 marzo 2022 a las 18:44

        BuggyJay's TiddlyClip browser extension for Firefox permits clipping of text and graphics from web pages:

        http://tiddlyclip.tiddlyspot.com

        TiddlyClip allows parts of webpages to be clipped into a TiddlyWiki, and consists of two parts, the browser addon and the TiddlyWiki plugin. The addon is completely memoryless, any configuration is determined by the current TiddlyWiki that the user has select to work with (we say that the addon is docked to the TiddlyWiki). TiddlyClip is designed to work (in a basic mode) without configuration. Once the addon and plugin are installed, all the user has to do is select which TW to dock to.

        TiddlyDesktop

         22 abril 2016 a las 21:29

        TiddlyDesktop es una aplicación de escritorio para trabajar con archivos de TiddlyWikii, tanto del veterano TiddlyWiki Classic, como del nuevo TiddlyWiki5. Se puede instalar en ,Windows, Mac OS X o Linux.

        Aquí hay un video de introducción a TiddlyDesktop

        Instrucciones

        1. Descarga la última versión de TiddlyDesktop de https://github.com/TiddlyWiki/TiddlyDesktop/releases
        2. Ejecuta TiddlyDesktop
        3. Usa el botón browse para abrir archivos de TiddlyWiki
        4. Guarda los cambios como habitualmente

        Fuente

        TiddlyDesktop se basa en NW.js, proyecto de código abierto y la fuente se encuentra en GitHub:

        https://github.com/TiddlyWiki/TiddlyDesktop/

        Consulta las versiones de TiddlyDesktop

        TiddlyDesktop Releases

         24 septiembre 2018 a las 9:24

        TiddlyDrive Add-on for Google Drive by Joshua Stubbs

         6 enero 2021 a las 15:10

        An add-on for Google Drive that allows TiddlyWiki files stored there to be opened and saved directly

        To find more information, go to the github page of this project: https://github.com/tiddlydrive/tiddlydrive.github.io

        I made an app that lets one edit TiddlyWiki files saved in your Google drive and then saving them back automagically. The page is here https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo but I think you need to add it from the Google Drive web interface.

        I even added an optional ability to save with ctrl + s hotkeys.

        Joshua's launch post

        TiddlyFox

         4 enero 2020 a las 11:19

        TiddlyFox is an extension for older versions of Firefox that allows standalone TiddlyWiki files to save their changes directly to the file system. TiddlyFox works on both desktop and smartphone versions of Firefox. See Saving with TiddlyFox or Saving with TiddlyFox on Android for detailed instructions.

        TiddlyFox is now obsolete due to its incompatibility with the latest versions of Firefox - see TiddlyFox Apocalypse. There are many alternatives to TiddlyFox, but none that work in precisely the same way – see GettingStarted for details.

        TiddlyFox can be downloaded from the Mozilla Addons site:

        https://addons.mozilla.org/en-GB/firefox/addon/tiddlyfox/

        You can also install the latest development version of TiddlyFox direct from GitHub:

        https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi

        TiddlyFox Apocalypse

         24 noviembre 2021 a las 21:49

        Summary

        On 14th November 2017 Mozilla released Firefox 57, a major new version with many improvements and security enhancements. However, in amongst those improvements are some fundamental changes to Firefox's security model with the unfortunate effect of making it impossible for TiddlyFox to function.

        TiddlyFox will remain available for people who continue to use older versions of Firefox, but anyone upgrading to the new version will need to choose a new way to handle saving changes with TiddlyWiki.

        Happily, several new ways of working with TiddlyWiki now exist so that users have many alternative choices – see GettingStarted for details. The demise of TiddlyFox has provoked several of these recent developments and thus may well ultimately be good for the community.

        There is a discussion thread on the TiddlyWiki forums about these developments.

        Background

        Firefox was first released in November 2004, a few months after the first version of TiddlyWiki. It was in many ways the Millenium Falcon to Microsoft's Death Star (in the shape of Internet Explorer). IE had by then enjoyed more than 5 years as the dominant browser, leading many in the web community to be frustrated that Microsoft's self-serving extensions to HTML had become de facto standards at the expense of innovation that might benefit the web community as a whole.

        Firefox quickly became successful because it managed to render web pages with close enough compatibly with Internet Explorer while offering a superior user experience. A large part of the promise of that user experience was the ability for any user to customise every aspect of the browser. Two innovations were behind this:

        • The entire user interface of the browser was constructed in XUL, effectively an extension of HTML that enabled it to render conventional user interfaces (at the time, HTML was largely restricted to simple document-oriented layouts). Tweaking a few lines of XUL code could make wholesale changes to the user interface of the browser
        • The Mozilla add-on architecture gave full privileges to add-ons, enabling them to observe and interact deeply with the browser engine itself, and the file system of the computer on which it was running

        These two conditions enabled a vibrant ecosystem of Firefox add-ons, many of them extremely popular. In many cases, innovations that were first seen in browser add-ons later became integrated into the browser itself, most notably the web debugger Firebug which was eventually cloned by all the browser manufacturers.

        Firefox continued to be extremely popular until Google joined the development of the rival WebKit browser to make Chrome. Google took a very different approach to the trade offs of making a browser, focusing on improving security at the expense of almost all other considerations. They pioneered approaches such as isolating each tab in its own process that were quickly adopted by all other major browsers.

        Google's approach precluded them adopting Mozilla's free-for-all approach to add-ons. Instead of having access to the entire browser environment and filing system, add-ons in Chrome see only a restricted subset of what is going on within the browser, and enjoy little or no access to the resources of the host machine.

        It was inevitable that Mozilla would eventually adopt Google's approach to browser security vis-a-vis add-ons. There is a point at which it wouldn't be responsible for Mozilla to be releasing a browser that had knowingly worse security than the market leader.

        Lessons

        Some of the fecundity of the TiddlyWiki ecosystem stems from the adoption of the above two principles from Firefox:

        • Making the application user interface out of the same primitives as the application content
        • Giving add-ons free rein to observe and interact with all of the internal logic of the application

        Those two characteristics present similar security challenges to TiddlyWiki as they did to Firefox. A TiddlyWiki that was primarily focused on security would need to curtail those abilities.

        The Future

        Innovation on new browser-based user interfaces and capabilities has now shifted from browser extensions to a new generation of frameworks that simplify creation of a custom browser based on an off-the-shelf open source HTML rendering engine. TiddlyDesktop uses nwjs, while Beaker Browser uses an alternative called Electron.

        TiddlyFox Apocalypse.png

         

        Tiddlyhost

         10 abril 2023 a las 11:50

        Tiddlyhost.com is a hosting service for TiddlyWiki created by Simon Baird. Once you sign up and confirm your email you can create "sites", (i.e. TiddlyWikis), with support for online saving. Sites can be private or public, and you can optionally list them on the taggable and searchable Tiddlyhost Hub where they'll be discoverable by others.

        Unlike TiddlySpot, Tiddlyhost is secure, open source, and has proper support for TiddlyWiki5. It also allows uploading existing TiddlyWiki files, supports TiddlyWikiClassic, and lets you claim ownership of your TiddlySpot sites. For more information see the FAQ and the About page.

        Tiddlyhost Logo

         

        TiddlyIE

         11 diciembre 2013 a las 22:42

        TiddlyIE is an extension for Internet Explorer that allows standalone TiddlyWiki files to save their changes directly to the file system. TiddlyIE works with the desktop version of Internet Explorer.

        See Saving with TiddlyIE.

        TiddlyMap Plugin by Felix Küppers

         14 noviembre 2021 a las 20:50

        An interactive network visualisation plugin based on Vis.js. A demo that also contains installation instructions can be found here: http://tiddlymap.org. The plugin's GitHub repository can be found here.

        TiddlyMap is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable graphs. By creating relations between your topics you can easily do the following:

        • Create concept maps and quickly manifest your ideas in tiddlers.
        • Create task-dependency graphs to organise and describe your tasks.
        • Visualise your topic structures to get an immediate grasp of topics and relations.

        In general you may create, visualise and describe any network-structure you have in mind.

        TiddlyMemo by oflg

         17 abril 2022 a las 2:15

        Lifelong knowledge, deep in the Sea of Mind.

        https://tiddlymemo.org/

        TiddlyMemo uses advanced Incremental Learning concepts to make it your powerful second brain for acquiring lifelong knowledge.

        TiddlyServer by Arlen Beiler

         6 enero 2021 a las 15:10

        An extension to the Node.js configuration of TiddlyWiki that adds support for static attachments and for working with multiple wikis at the same time.

        https://github.com/Arlen22/TiddlyServer

        TiddlyServer 2.0 takes the server command of TiddlyWiki on NodeJS and adds it to a static file server. This means you can load and serve any TiddlyWiki data folder in the same way you can serve a single file TiddlyWiki.

        But you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organise them into virtual folders (aka aliases in Apache and mounts in Express).

        The main point, of course, is that you can actually edit your files, not just look at them. Single file TiddlyWikis use the put saver, which needs to be patched using a bookmarklet included on the index page. The instructions for this are below under the heading "One thing that needs to be noted".

        And, of course, you can edit data folder tiddlywikis just like you were running node tiddlywiki.js data –server, except that you run it on the path that you found it at (e.g. http://localhost/personal/notes/). You can have as many data folders open as you want, they don't conflict (though they will each take memory).

        Data folders store individual tiddlers instead of entire wikis. They take less disk space as they also do not store the core and plugins. This means they also save much quicker, especially over the internet. They also save immediately (within 10 seconds or so) and they save drafts.

        Tiddlyshow by Mohammad

         17 noviembre 2020 a las 16:27

        Tiddlyshow is a small application of Tiddlywiki for presentation and slideshow. It can also be used as a plugin.

        https://kookma.github.io/Tiddlyshow/

        Tiddlyshow contains the following features

        • Tools for preparing slides
        • Shortcut keys for navigation (forward and backward)
        • Themes to colorify and customise the slideshow

        TiddlySpace

         29 abril 2016 a las 6:13

        TiddlySpace es un entorno web para TiddlyWiki, construido desde TiddlyWeb.

        TiddlySpace fue originalmente esponsorizado por Osmosoft en BT.

        TiddlySpot

         23 abril 2016 a las 6:49

        TiddlySpot es un servicio de alojamiento gratuito para documentos de TiddlyWiki hecho por Simon y Daniel Baird. La manera más sencilla de empezar a usarlo es registrarse en http://tiddlyspot.com. Por defecto muestra la última versión de TiddlyWiki Classic, pero es totalmente compatible con TW5

        TiddlyWeb

         29 abril 2016 a las 6:19

        TiddlyWeb es una aplicación de servidor que publica Tiddlers en la web:

        http://tiddlyweb.com/

        TiddlyWeb puede usarse para alojar wikis hechos en TiddlyWiki Classic y TiddlyWiki5, de modo que los tiddlers individuales estén disponibles en una API HTTP flexible.

        TiddlyWeb fue originalmente esponsorizada por Osmosoft en BT, junto con TiddlySpace.

        TiddlyWeb JSON tiddler format

         2 octubre 2018 a las 14:11

        The web server API uses tiddlers in a special format originally designed for TiddlyWeb:

        • Field values are represented as strings. Lists (like the tags and list fields) use double square brackets to quote values that contain spaces
        • Tiddlers are represented as an object containing any of a fixed set of standard fields, with custom fields being relegated to a special property called fields
        • The standard fields are: bag, created, creator, modified, modifier, permissions, recipe, revision, tags, text, title, type, uri

        For example, consider the following tiddler:

        {
        	"title": "HelloThere",
        	"tags": "FirstTag [[Second Tag]]",
        	"my-custom-field": "Field value"
        }

        In transit over the API, the tiddler would be converted to the following format:

        {
        	"title": "HelloThere",
        	"tags": "FirstTag [[Second Tag]]",
        	"fields": {
        		"my-custom-field": "Field value"		
        	}
        }

        TiddlyWiki

         12 abril 2016 a las 10:25

        TiddlyWiki es una potente herramienta interactiva para la manipulación de información compleja con estructura que no encaja fácilmente en las herramientas tradicionales, como hojas de cálculo o procesadores de texto.

        TiddlyWiki está diseñado para adaptarse a tu forma de pensar y ayudarte a manejar todo aquello que no acaba de encajar. La idea fundamental es que la información es más útil y está más a mano si la dividimos en unidades mínimas, semánticamente significativas –tiddlers– y le damos títulos que permitan estructurarlas mediante enlaces, etiquetas, listas y macros.

        Los tiddlers se valen de una notación especial que llamamos WikiText para explotar, de forma sencilla, una amplia variedad de opciones de formato de texto y enlace hipertextual. TiddlyWiki tiene como objetivo proporcionar una interfaz fluida de trabajo que permita agregar tiddlers y componer así narraciones más largas.

        La gente adora TiddlyWIki. Primero, porque puede usarse tal cual, sin necesidad de complicadas infrastructuras de servidor y, porque al ser de código abierto, brinda una libertad sin precedentes para que cualquiera pueda mantener su información más preciada bajo su propio control.

        TiddlyWiki fue creado originalmente por JeremyRuston y es en la actualidad un próspero proyecto open source, con una animada comunidad de desarrolladores independientes.

        TiddlyWiki Camp Paris

         12 junio 2015 a las 11:01

        The first TiddlyWiki Camp Paris was held on Saturday 6th June 2015.

        http://paris.twcamp.info

        Bienvenue sur le site du TiddlyWiki Camp. Un évènement pour rencontrer la communauté de ce logiciel Open Source, libre et gratuit. Découvrez ce bloc note personnel polyvalent et adoptez-le pour gérer votre quotidien !

        TiddlyWiki Classic.png

         

        TiddlyWiki Cloud

         7 mayo 2020 a las 21:29

        Originally built by Jeremy Ruston and now maintained by Arlen Beiler, TiddlyWiki Cloud (formerly known as TiddlyWiki in the Sky for Dropbox) is an online service that lets you edit TiddlyWiki documents directly in your own Dropbox using just a browser.

        It works with TiddlyWiki 5. As for TiddlyWiki Classic, the mainstream loader does not work, and a newer loader may work.

        https://twcloud.github.io/

        TiddlyWiki European Meetup 2016

         12 julio 2016 a las 13:15

        https://tiddlywiki.com/tiddlywiki-eu-meetup-2016/

        Here's the stream of day 1:

        Here's day 2:

        TiddlyWiki European Meetup 2017

         26 abril 2017 a las 22:03

        The TiddlyWiki European Meetup 2017, Oxford, on June 10th and 11th 2017.

        For more details:

        https://tiddlywiki.com/tiddlywiki-eu-meetup-2017/

        TiddlyWiki extensions for Sublime Text 3 by roma0104

         6 enero 2021 a las 15:10

        TiddlyWiki extensions for ViM

         6 enero 2021 a las 15:10

        "Hangouts" de TiddlyWiki

         21 abril 2016 a las 10:42

        La comunidad TiddlyWiki mantiene reuniones periódicas online con Google Hangouts. Normalmente, los martes, de 17:00 a 19:00 hs (hora central europea).

        De todos modos, se anuncian debidamente en el Grupo de TiddlyWiki y en la cuenta @TiddlyWiki de Twitter.

        Los últimos Hangouts están archivados en este canal de YouTube:

        TiddlyWiki in the Sky para TiddlyWeb

         6 mayo 2016 a las 5:39

        TiddlyWiki in the Sky para TiddlyWeb permite sincronizar contenidos entre TiddlyWiki en el navegador y el servidor de TiddlyWeb (o TiddlySpace). Sus características incluyen:

        • Carga diferida
        • Sincronización de dos vías entre navegador y servidor
          • La sincronización del servidor se realiza por "polling" (cada 60 segundos)
        • "Throttling", para que los tiddlers que cambian rápidamente no saturen el servidor

        Para probar TiddlyWiki in the Sky para TiddlyWeb:

        1. Crea, si es necesario, una cuenta en http://tiddlyspace.com/
        2. Crea un nuevo espacio
        3. Incluye el espacio tw5tiddlyweb
        4. Visita http://<mi_espacio>.tiddlyspace.com/tw5

        TiddlyWiki Marketplace

         4 diciembre 2022 a las 16:56

        Welcome to the TiddlyWiki Marketplace. This new forum is designed to provide a space for individuals and organizations to offer commercial products and services that are built around TiddlyWiki:

        • Paid hosting services
        • Custom solution development
        • Training courses
        • One-to-one training sessions
        • "Fix my wiki" debugging sessions

        TiddlyWiki Marketplace

        TiddlyWiki Marketplace Banner

         

        TiddlyWiki Newsletter

         

        Subscribe to the TiddlyWiki Newsletter here:

        TiddlyWiki Newsletter Badge.png

         

        Video sobre TiddlyWiki en Firefox para Android

         26 abril 2016 a las 9:57

        Este breve screencast muestra cómo configurar Firefox para Android para guardar cambios en TiddlyWiki:

        TiddlyWiki en Node.js

         6 mayo 2016 a las 5:50

        Ejecutar TiddlyWiki en Node.js tiene una serie de importantes ventajas sobre la versión de archivo único:

        • Puedes editar contenidos en cualquier navegador compatible con HTML5 browser, incluso en smartphones y tablets.
        • Los tiddlers individuales se guardan como archivos separados, que puedes organizar a tu gusto
        • Puedes construir múltiples wikis con diferentes combinaciones de contenido único y compartido

        Para mayor información, consulta:

        TiddlyWiki Releases

         13 noviembre 2017 a las 16:14

        Here are the details of recent releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.

        If you are using node.js, you can also install prior versions like this:

        npm install -g tiddlywiki@5.1.13

        (BetaReleases and AlphaReleases are listed separately).

        Release 5.3.1

        Released 20 agosto 2023 at 12:28

        See GitHub for detailed change history of this release

        Congratulations to vilc for their winning design for the banner for this release (here is the competition thread).

        Overview of v5.3.1

        This release comes only a few weeks after v5.3.0. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP – the demo downloads a random image or video of a dog.

        Bug Fixes and Reversions of v5.3.0 Changes

        • Reverted adding the widget.destroy() method because of performance concerns (see https://github.com/Jermolene/TiddlyWiki5/pull/7468)
        • fixed inefficiency when transcluding with the $output attribute set to text/plain that manifested itself as extremely slow export times
        • fixed unwanted error message "Global assignment is not allowed within modules on node"

        Translation improvement

        Improvements to the following translations:

        • Chinese
        • Polish

        Widget Improvements

        Hackability Improvements

        Bug Fixes

        • fixed table of contents indentation
        • fixed bindStatus and bindProgress parameters of WidgetMessage: tm-http-request
        • fixed attribute substitution to handle variables containing non-word characters
        • fixed the pragmas introduced in v5.3.0 so that they can be indented with whitespace
        • fixed size of tiddler icons
        • fixed drag and drop from Chrome-like browsers to Firefox
        • fixed listIndex mode of checkbox widgets

        Node.js Improvements

        • improved console reporting of JavaScript errors

        Developer Improvements

        • fixed overeager onload handler in Jasmine plugin
        • fixed ordering of shadow tiddler listings to not reflect order of insertion

        Acknowledgements

        @Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:

        1. @AnthonyMuscio
        2. @btheado
        3. @catter-fly
        4. @cmo-pomerium
        5. @CrossEye
        6. @flibbles
        7. @hffqyd
        8. @lilscribby
        9. @linonetwo
        10. @Marxsal
        11. @mateuszwilczek
        12. @pille1842
        13. @pmario
        14. @rmunn
        15. @saqimtiaz
        16. @stevesunypoly
        17. @TiddlyTweeter
        18. @twMat
        19. @yaisog

        Tutoriales en video de Francis Meetze

         16 abril 2016 a las 6:50

        Exhaustiva y recomendada serie de tutoriales para empezar a moverte cómodamente con TiddlyWiki. https://www.youtube.com/playlist?list=PLzZCajspPU_UjFn0uy-J9URz0LP4zhxRK

        Estos tutoriales están pensados para darte las nociones básicas que te permitan empezar de inmediato a usar TiddlyWiki. Echamos una rápida mirada a la tecnología detrás de TiddlyWiki y a cómo instalarlo y crear tu primer Tiddler.

        tiddlywiki.files Files

         14 noviembre 2021 a las 10:12

        Introduction

        A tiddlywiki.files JSON file in a sub-folder within a TiddlyWiki folder overrides the usual logic for recursively scanning the folder for tiddler files. Instead, the tiddlywiki.files file specifies instructions for loading tiddlers from specific files and folders.

        The format of the file is an object with two optional properties:

        • tiddlers - an array of objects describing external files with the ability to override or modify any of the fields read from the file
        • directories - an array of objects describing external directories, a filter determining which files within those directories should be processed, and the ability to override or modify any of the fields read from the file

        Note that significant enhancements to tiddlywiki.files processing were introduced in Release 5.1.14.

        Field overrides

        Both the tiddlers and directories sections of tiddlywiki.files files include the ability to override or customise the values of fields with a fields object.

        Each field can be specified as either a string or array value to be assigned directly to the field, or New in: 5.1.14 an object describing how to generate the value for the field. The object contains the following properties:

        • source - (optional) a string specifying the source value for the field. If not specified, the existing value is used
          • filename the filename of the file containing the tiddler
          • filename-uri-decoded the filename of the file containing the tiddler, with URI decoding applied
          • basename the filename of the file containing the tiddler without any extension
          • basename-uri-decoded the filename of the file containing the tiddler without any extension, with URI decoding applied
          • extname the extension of the filename of the file containing the tiddler
          • created the creation date/time of the file containing the tiddler
          • modified the modification date/time of the file containing the tiddler
          • New in: 5.3.0 filepath the path of the file containing the tiddler, relative to the path property of the directory (only usable in directories declarations)
          • New in: 5.3.0 subdirectories an array of the subdirectories in the file's path relative, to the path property of the directory (only usable in directories declarations)
        • prefix - (optional) a string to be prepended to the value of the field
        • suffix - (optional) a string to be appended to the value of the field

        Tiddlers section

        The file specifications in the tiddlers array support the following properties:

        • file: (required) the absolute or relative path to the file containing the tiddler data (relative paths are interpreted relative to the path of the tiddlywiki.files file)
        • isTiddlerFile: (optional) if true, the file will be treated as a tiddler file and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the text field without any parsing
        • fields: (optional) an object containing values that override or customise the fields provided in the tiddler file (see above)
        • prefix & suffix: (optional) strings to be prefixed and suffixed to the tiddler text field
          Note that providing a prefix here is equivalent to setting the text field of the fields object to {"prefix":"<prefixvalue>"}.

        Directories section

        Directory specifications in the directories array may take the following forms:

        • a string literal, specifying the absolute or relative path to the directory containing the tiddler files (relative paths are interpreted relative to the path of the tiddlywiki.files file). The directory is recursively searched for tiddler files
        • New in: 5.1.14 an object with the following properties:
          • path - (required) the absolute or relative path to the directory containing the tiddler files (relative paths are interpreted relative to the path of the tiddlywiki.files file). Note that by default the directory is not recursively searched; sub-directories are ignored unless the searchSubdirectories flag is set to true (see below).
          • filesRegExp - (optional) a regular expression that matches the filenames of the files that should be processed within the directory
          • isTiddlerFile - (required) if true, the file will be treated as a tiddler file and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the text field without any parsing
          • isEditableFile - New in: 5.1.23 (optional) if true, changes to the tiddler be saved back to the original file. The tiddler will be saved back to the original filepath as long as it does not generate a result from the $:/config/FileSystemPath filters, which will override the final filepath generated if a result is returned from a filter.
          • searchSubdirectories - New in: 5.1.23 (optional) if true, all subdirectories of the path are searched recursively for files that match the (optional) filesRegExp. If no filesRegExp is provided, all files in all subdirectories of the path are loaded. Tiddler titles generated via the source attribute filename (see above) will only include the filename, not any of the subdirectories of the path. If this results in multiple files with loaded with the same tiddler title, then only the last file loaded under that tiddler title will be in memory. In order to prevent this, you can use the filepath attribute instead of filename. Alternately, you can include multiple directory objects and customise the title field with a prefix or suffix alongside the source attribute.
          • fields - (required) an object containing values that override or customise the fields provided in the tiddler file (see above)

        Fields can also be overridden for particular files by creating a file with the same name plus the suffix .meta – see TiddlerFiles.

        Examples

        These example tiddlywiki.files must be placed in their own sub-directory of the wiki folder.

        There are also several examples of tiddlywiki.files files in the main TiddlyWiki 5 GitHub repository.

        Importing a folder of PDFs

        This example retrieves all the files with the extension .pdf from a folder specified by a relative path. This path starts with "../../../" indicating 3 directory levels above the folder holding this config file. Each tiddler is set up for LazyLoading with the following fields:

        • title - set to the URI decoded base filename of the PDF file. URI decoding allows characters like "/" to be included in titles by URI encoding them as "%2F"
        • created - set to the creation date/time of the PDF file
        • modified - set to the modification date/time of the PDF file
        • type - set to application/pdf
        • tags - set to $:/tags/AttachedFile
        • text - set to an empty string
        • _canonical_uri - set to the string "pdfs/" concatenated with the filename
        {
            "directories": [
                {
                    "path": "../../../input/pdfs",
                    "filesRegExp": "^.*\\.pdf$",
                    "isTiddlerFile": false,
                    "fields": {
                        "title": {"source": "basename-uri-decoded"},
                        "created": {"source": "created"},
                        "modified": {"source": "modified"},
                        "type": "application/pdf",
                        "tags": ["$:/tags/AttachedFile"],
                        "text": "",
                        "_canonical_uri": {"source": "filename", "prefix": "pdfs/"}
                    }
                }
            ]
        }

        Importing a folder of text files

        This example retrieves all the files with the extension .txt from a folder specified by a relative path. This folder is within the wiki's base directory, and the current config file is in a directory within the wiki's "tiddlers/" directory. So, in this case the path starts with "../../" to traverse upwards two directory levels, and then down into the "externalnotes/" directory. Each tiddler is set up with the following fields:

        • title - set to the URI decoded base filename of the text file. URI decoding allows characters like "/" to be included in titles by URI encoding them as "%2F"
        • created - set to the creation date/time of the text file
        • modified - set to the modification date/time of the text file
        • type - set to text/plain
        • tags - set to [[note]] [[externalnote]] [[.txt]] (using array notation)
        • text - not set, thus the content of the file is loaded as the text field
        {
            "directories": [
                {
                    "path": "../../externalnotes",
                    "filesRegExp": ".+\\.txt",
                    "isTiddlerFile": false,
                    "isEditableFile": true,
                    "fields": {
                        "title": {"source": "basename-uri-decoded"},
                        "created": {"source": "created"},
                        "modified": {"source": "modified"},
                        "type": "text/plain",
                        "tags": ["note", "externalnote", ".txt"]
                    }
                }
          ]
        }

        This will load all text files in the ../../externalnotes/ directory into the wiki as individual tiddlers. These can be a collection of snippets in various markup-languages. Then, the type field of each of these tiddlers can be changed to match their languages For example, "text/vnd.tiddlywiki" for wikitext, or "text/markdown" for markdown files. Then, using $:/config/FileSystemPaths and $:/config/FileSystemExtentions tiddlers with the following lines we can cause any changes to these tiddlers to be saved back to the directory they started from, and also as "*.txt" files with accompanying "*.txt.meta" files. These meta files will be generated as required, and will then over-ride any fields generated from the config tiddlywiki.files file (such as the tiddler's type field) when the server is restarted.

        From the examples in Customising Tiddler File Naming we see that the final [!tag[externalnote]addprefix[wiki/]] filter in the $:/config/FileSystemPaths tiddler excludes all tiddlers tagged with externalnotes (that have not matched an earlier filter). These tiddlers have their filepath retrieved from the $:/config/OriginalTiddlerPaths generated upon boot startup.

        Then, the [tag[.txt]then[.txt]] filter in the $:/config/FileSystemExtensions tiddler forces all these tiddlers to be saved back to disk as *.txt and accompanying *.txt.meta files (overriding the normal tiddler-type to file-type mapping). In this case, allowing the snippets of Tiddlywiki wikitext or markdown-text to be saved back to "text" *.txt files.

        Importing and auto-tagging images

        This example imports all the image files in the files directory and all its subdirectories as external-image tiddlers, and tags them based on their filepath. Each tiddler is set up with the following fields:

        • title - set to the URI decoded base filename of the text file
        • created - set to the creation date/time of the text file
        • modified - set to the modification date/time of the text file
        • type - set to image/jpeg. There is currently no way to infer the correct ContentType of the image tiddler from the file, but image/jpeg tiddlers should render correctly even with png or gif images. As an alternative, you could create separate definitions for jpg, png, and gif files with the image/jpeg, image/png, and image/gif types respectively.
        • tags - generated based on the path of the image relative to the parent directory (files in this case). Eg, images in files/photos will be tagged with photos, those in files/photos/family will be tagged with both photos and family, and those in the root files directory will have no tags.
        • text - set to an empty string
        • _canonical_uri - set to the full filepath of the image relative to the wiki root
        {
            "directories": [
                {
                    "path": "../../files/",
                    "filesRegExp": "^.*\\.(?:jpg|jpeg|png|gif)$",
                    "isTiddlerFile": false,
        	        "searchSubdirectories": true,
                    "fields": {
                        "title": {"source": "basename-uri-decoded"},
                        "created": {"source": "created"},
                        "modified": {"source": "modified"},
                        "type": "image/jpeg",
                        "tags": { "source": "subdirectories" },
                        "text": "",
                        "_canonical_uri": { "source": "filepath", "prefix": "files/" }
                    }
                }
            ]
        }

        tiddlywiki.info Files

         14 noviembre 2021 a las 10:12

        TiddlyWikiFolders are configured with a single tiddlywiki.info file in the root of the wiki folder. It should contain a JSON object comprising the following properties:

        • plugins - an array of plugin names to be included in the wiki
        • themes - an array of theme names to be included in the wiki
        • languages - an array of language names to be included in the wiki
        • includeWikis - an array of references to external wiki folders to be included in the wiki
        • build - a hashmap of named build targets, each defined by an array of command tokens (see BuildCommand)
        • config - an optional hashmap of configuration options (see below)

        includeWikis

        The entries in the includeWikis array can be either a string specifying the relative path to the wiki, or an object with the following fields:

        • path - relative path to wiki folder
        • read-only - set true to prevent the tiddlers in the included wiki from being modified. The modifications will be written to the directory specified in default-tiddler-location, described below

        build

        Note that the build targets of included wikis are merged if a target of that name isn't defined in the current tiddlywiki.info file.

        config

        Configuration options include:

        • default-tiddler-location - a string path to the default location for the filesystem adaptor to save new tiddlers (resolved relative to the wiki folder)
        • retain-original-tiddler-path - If true, the server will generate a tiddler $:/config/OriginalTiddlerPaths containing the original file paths of each tiddler in the wiki

        Example

        For example:

        {
        	"plugins": [
        		"tiddlywiki/tiddlyweb",
        		"tiddlywiki/filesystem"
        	],
        	"includeWikis": [
        		{"path": "../tw5.com", "read-only": true}
        	],
        	"build": {
        		"index": [
        			"--rendertiddler","$:/core/save/all","index.html","text/plain"],
        		"favicon": [
        			"--savetiddler","$:/favicon.ico","favicon.ico",
        			"--savetiddler","$:/green_favicon.ico","static/favicon.ico"]
        	},
        	"config": {
        		"retain-original-tiddler-path": true	
        	}
        }

        TiddlyWiki.mp3

         

        TiddlyWiki2ReadMe

         

        Building TiddlyWikiClassic

        TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:

        • The tiddlywiki/classictools plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x .recipe files
        • The stripcomments format for the ViewWidget, which strips single line JavaScript comments starting //#
        • The stripTitlePrefix='yes' attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the title attribute
          • For example, {tiddler}HelloThere would be transformed to HelloThere

        Usage

        TiddlyWikiClassic is built from the command line by running TiddlyWiki on Node.js. A typical usage would be:

        node ../../tiddlywiki.js \
        	--verbose \
        	--load <path_to_recipe_file> \
        	--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \
        	|| exit 1

        TiddlyWiki5

         12 abril 2016 a las 17:52

        TiddlyWiki5 es la nueva reencarnación de TiddlyWiki para los próximos 25 años. Es un wiki completamente interactivo, escrito en JavaScript, que puedes ejecutar localmente en el navegador o en un servidor, mediante Node.js.

        TiddlyWiki5 Versioning

         12 septiembre 2014 a las 15:26

        Each release of TiddlyWiki5 is identified by a version number that complies with the Semantic Versioning 2.0.0 standard.

        TiddlyWiki Core Version

        According to the standard:

        Given a version number MAJOR.MINOR.PATCH, increment the:
        
        MAJOR version when you make incompatible API changes,
        MINOR version when you add functionality in a backwards-compatible manner, and
        PATCH version when you make backwards-compatible bug fixes.
        Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

        Alpha and Beta versions

        While in alpha TiddlyWiki5 uses the pre-release label "alpha", for example:

        5.0.1-alpha

        Each new alpha or beta release will bump the PATCH version number. This breaks the strict semantics of versioning because PATCH increments are supposed to be reserved for compatible changes.

        Note that prior to 5.0.1-alpha, TiddlyWiki5 used version numbers formatted as 5.0.0-alpha.19. The change was made to enable the upgrade mechanism to recognise plugin updates from the version information.

        Interim versions

        During development when a new release is being prepared, the pre-release label is set to prerelease.

        Plugin Versions

        Version numbers

        TiddlyWiki5 uses the version information attached to plugins for determining which of two plugins is more recent during an upgrade or import. The pre-release label is ignored when performing these comparisons.

        TiddlyWikiClassic

         16 abril 2016 a las 7:13

        "TiddlyWiki Classic" se refiere a las versiones de TiddlyWiki anteriores a la 5.0, cuando se decidió reescribir TiddlyWiki por completo y empezando de cero.

        TiddlyWiki Classic recibe aún mantenimiento y está disponible en:

        https://classic.tiddlywiki.com/

        Mario Pietsch ha publicado una página que compara la sintaxis y otras diferencias entre la versión Classic y la actual:

        http://compare-tw2-tw5.tiddlyspace.com

        WikiFolders

         6 mayo 2016 a las 10:20

        Node.js soporta, además de wikis de archivo único, wikis estructurados en carpetas que llamamos WikiFolders. Dichas carpetas contienen, lógicamente, tiddlers y las distinguimos según el tipo de tiddlers que contengan.

        WikiFolders y archivos

        Los WikiFolders contienen los siguientes archivos y carpetas:

        • tiddlywiki.info - Archivo .JSON que contiene metadatos necesarios para construir el wiki
        • \tiddlers - Carpeta que contiene los tiddlers que forman parte del contenido del wiki
        • \plugins - Carpeta que contiene los diferentes plugins folders que se incluyen en el wiki

        Sólo el archivo tiddlywiki.info es obligatoriamente necesario. Todas las demás carpetas son opcionales.

        Contenido del archivo tiddlywiki.info

        Este archivo contiene un objeto JSON que consta de los siguientes campos:

        • plugins - nombres de los plugins que se incluyen en el wiki
        • themes - nombres de los temas que se incluyen en el wiki
        • languages - nombres de los idiomas que se incluyen en el wiki
        • includeWikis - referencias a carpetas externas que se incluyen en el wiki
        • build - hashmap de targets de compilación, definidos como símbolos de comandos. (ver BuildCommand para más información)
        • config - hashmap opcional de opciones de configuración

        includeWikis

        Los valores de includeWikis pueden ser bien una cadena con la ruta relativa al wiki, o un objeto con los siguientes campos:

        • path - ruta relativa al WikiFolder
        • read-only - con el valor true, previene la modificación de los tiddlers del wiki que se incluye. Toda modificación que se haga en estos se guardará en el directorio definido como default-tiddler-location, que se describe más abajo

        build

        Los tiddlers objeto de este comando cuyo origen no se defina en el archivo tiddlywiki.info se combinarán con los del wiki actual.

        config

        Las opciones de configuración incluyen:

        • default-tiddler-location - ruta relativa a la localización por defecto de la carpeta en que se almacenan los tiddlers nuevos.
        • retain-original-tiddler-path - si se define como true, el servidor generará el tiddler $:/config/OriginalTiddlerPaths, que contiene la ruta original de cada tiddler contenido en el wiki.

        Ejemplo:

        {
        	"plugins": [
        		"tiddlywiki/tiddlyweb",
        		"tiddlywiki/filesystem"
        	],
        	"includeWikis": [
        		"../tw5.com"
        	],
        	"build": {
        		"index": [
        			"--rendertiddler","$:/core/save/all","index.html","text/plain"],
        		"favicon": [
        			"--savetiddler","$:/favicon.ico","favicon.ico",
        			"--savetiddler","$:/green_favicon.ico","static/favicon.ico"]
        	},
        	"config": {
        		"retain-original-tiddler-path": true	
        	}
        }

        Contenido de la carpeta tiddlers

        Toddos los archivos .tid de la carpeta tiddlers se leen cuando se genera el wiki. Las subcarpetas se escanean recursivamente en busca de cualquier otro archivo .tid durante el proceso.

        Los tiddlers nuevos se guardan en la raíz de la carpeta tiddlers, salvo que se configure de otro modo.

        Las subcarpetas de tiddlers también pueden contener un archivo JSON que puentee el proceso por defecto para esa carpeta. En este ejemplo se ilustra el formato de este tipo de archivos:

        {
        	"tiddlers": [
        		{
        			"file": "d3.min.js",
        			"fields": {
        				"type": "application/javascript",
        				"title": "$:/plugins/tiddlywiki/d3/d3.js",
        				"module-type": "library"
        			},
        			"prefix": "var d3;if($tw.browser){\n",
        			"suffix": "}\nexports.d3 = d3;\n"
        		},
        		{
        			"file": "cloud/d3.layout.cloud.js",
        			"fields": {
        				"type": "application/javascript",
        				"title": "$:/plugins/tiddlywiki/d3/d3.layout.cloud.js",
        				"module-type": "library"
        			}
        		},
        		{
        			"file": "local/mytiddler.tid",
        			"isTiddlerFile": true,
        			"fields": {
        				"title": "A different title"
        			}
        		}
        	],
        	"directories": [
        		"../../mytiddlers/store"
        	]
        }

        Un elemento JSON es un objeto con la propiedad tiddlers, que a su vez contiene una matriz de información sobre cada tiddler que se carga en el wiki. Esta información es:

        • Ruta, absoluta o relativa, al archivo que se incluye, bien como
          • file: nombre del archivo que contiene el tiddler
          • isTiddlerFile: si su valor es true, se extraen los tiddlers de su contenido. En caso contrario, se asigna el contenido en bruto del archivo al campo text, sin interpretación alguna.
        • fields: objet que contiene campos que puentean los proporcionados por el archivo
        • prefix & suffix: (opcional) especifica cadenas usadas como prefijo o sufijo del del contenido de un tiddler

        La propiedad directories permite definir una lista de directorios de los que se cargarán recursivamente los tiddlers

        TiddlyWikiLinks

         

        timeline Macro

         23 febrero 2017 a las 3:36

        The timeline macro returns a list of tiddlers in reverse chronological order of modification (or some other date field), grouped by day.

        Parameters

        limit
        The maximum number of tiddlers to include, defaulting to 100. But if any tiddlers are included for a particular day, all of the other tiddlers for that day will also be included – even if this exceeds the limit
        format
        A string specifying the desired format, defaulting to DDth MMM YYYY
        subfilter
        An optional extra filter step, e.g. tag[MyTag]
        dateField
        The name of the date field to use, defaulting to modified

        The tiddlers are selected by means of a filter expression, into which the subfilter and limit parameters are spliced as follows:

        [!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]

        Examples

        timeline Macro (Examples)

         21 febrero 2015 a las 22:46

        <<timeline format:"DD/MM/YYYY">>
        <<timeline limit:30 subfilter:"tag[Definitions]" format:"DD/MM/YYYY">>

        Timelines by Mohammad

         17 noviembre 2020 a las 16:17

        Timelines plugin is for creating vertical and horizontal timeline and sequences.

        https://kookma.github.io/TW-Timelines/

        The content or description and data of events are stored in individual tiddlers.

        Timelines contain two timeline macros and two sequence macros. A sequence macro shows event contents in sequence not necessarily in chronological order. The order can be determined by tag or list field or other methods.

        Timimi: WebExtension and Native Host by Riz

         6 enero 2021 a las 15:10

        Timimi is a web-extension accompanied by a native host that allows you to save and backup your standalone HTML tiddlywiki files anywhere in your hard-drive. Once installed, you can save the tiddlywiki files without any extra steps, like the original Tiddlyfox addon.

        • The native host requires a component installed on the host computer, outside the browser.

        https://ibnishak.github.io/Timimi/

        As of version 2.1, Timimi supports the following browsers

        • Chrome/Chromium
        • Firefox
        • Opera
        • Microsoft Edge (Chromium)

        It is also reported to work seamlessly in chrome based browsers like Brave and Vivaldi.

        Timimi also provides users with 4 backup strategies, viz:

        • Create a backup Every nth save
        • Create a backup every nth minute
        • Customised Tower of Hanoi
        • First in First Out

        Tinka by Andreas Hahn

         6 enero 2021 a las 15:10

        The Tinka plugin provides the ability to create and modify plugins in the browser, without requiring the use of Node.js.

        See https://github.com/TinkaPlugin/Tinka for the GitHub repo.

        https://tinkaplugin.github.io/

        This is a Control Panel extension that aims to simplify the plugin creation and editing process. After installing, you will find a new tab in your control panel that makes creating and modifying plugins a little bit easier.

        Listas

         15 abril 2016 a las 5:20

        Una lista es una línea de texto que presenta el título de uno o más tiddlers como una cadena de títulos separados por espacios.

        Si un título contiene espacios, se enuncia con corchetes dobles:

        EnMarcha [[Descubre TiddlyWiki]] Actualizaciones

        La función de creación de listas se usa en varios lugares, incluyendo PermaLinks y el campo lista

        Son, de hecho, la forma más simple de filtro y una de las maneras que hay de presentar una selección de títulos.

        title Operator

         3 febrero 2015 a las 19:17
        purposeselect a single title
        inputignored
        ! inputa selection of titles
        parameterT = a tiddler title
        outputa selection containing only T
        ! outputthe input, but with tiddler T filtered out if it exists in the wiki

        Learn more about how to use Filters

        [title[An Example]] can be shortened to [[An Example]], because title is the default filter operator. Consequentially, [!title[An Example]] can be shortened to [![An Example]].

        title is a constructor (except in the form !title), but field:title is a modifier.

        Examples

        title Operator (Examples)

         24 enero 2015 a las 14:03

        [title[HelloThere]]

        [[HelloThere]]

        HelloThere

        [title[HelloThere]] [title[Filter Operators]]

        [[HelloThere]] [[Filter Operators]]

        HelloThere [[Filter Operators]]

        [tag[Filters]] +[!title[Filter Operators]]

        [tag[Filters]] +[![Filter Operators]]

        [tag[Filters]] -[[Filter Operators]]

        Selección de títulos

         19 abril 2016 a las 17:39

        Una selección de títulos es una lista ordenada de títulos (o cadenas similares), en que cada elemento aparece sólo una vez.

        La selección de títulos es importante en operaciones de búsqueda

        La manera más sencilla de obtener una es escribiendo una lista.

        titlecase Operator

         20 junio 2019 a las 14:50
        purposereturns each item in the list with each word capitalised
        inputa selection of titles
        outputthe input titles with each word capitalised

        Learn more about how to use Filters

        New in: 5.1.20

        See also lowercase Operator, uppercase Operator, sentencecase Operator.

        This operator does not change anything except the first letter of each word, so [[aBcD eFgH]] would become [[ABcD EFgH]]. If you want [[Abcd Efgh]], then use a filter like [lowercase[]titlecase[]].

        Examples

        titlecase Operator (Examples)

         20 junio 2019 a las 15:04

        [[abc def ghi jkl]titlecase[]]

        [[abc deF gHi jKL]titlecase[]]

        [[abc deF gHi jKL]lowercase[]titlecase[]]

        [tag[HelloThere]titlecase[]]

        TitleField

         22 abril 2016 a las 11:11

        sdfasdfasdfadf

        Todolist by Mohammad

         16 noviembre 2020 a las 21:20

        Todolist is a small pure wikitext plugin, contain all tools to work with todo list.

        https://kookma.github.io/TW-Todolist/

        With Todolist, easily organise and prioritise your tasks and projects so you’ll always know exactly what to work on next.

        Todolist creates custom UI and lets you to add new items, set priority, done/undone items, archive, delete. Using Todolist plugin it is possible to create several todo lists in one Tiddlywiki.

        toggle Operator

         18 noviembre 2020 a las 19:21
        purposetoggle the title specified in the operand in the input
        inputa list of items
        parameterthe toggle operator accepts 1 or more parameters, see below for details
        outputthe input list with the title specified in the parameter toggled

        Learn more about how to use Filters

        New in: 5.1.23

        The toggle operator requires at least one parameter and can accept additional optional parameters. With a second optional parameter it can be used to toggle between a pair of titles:

        [toggle[<title1>],[<title2>]]
        • title1 : a title to toggle in the input list. If it is already present, it is removed. Otherwise, it is added.
        • title2: (optional). When the second parameter is provided, the operator toggles between the two values in the input list. If neither is present, the first parameter takes precedence is added to the list.

        With more than two parameters, the toggle behaves similar to the cycle and can be used to cycle through a list of values. Note that all operands should be unique.

        While the cycle operator interprets its first parameter as a list of titles to cycle through and offers similar functionality, the toggle operator accepts an unlimited number of distinct parameters.

        Examples

        toggle Operator (Examples)

         18 noviembre 2020 a las 17:47

        These examples make use of the Days of the Week tiddler.

        [list[Days of the Week]] +[toggle[Wednesday]]

        To toggle a tag in a tiddler:

        <$action-listops  $tiddler="target" $tags="+[toggle[done]]" />

        To toggle a title in a field:

        <$action-listops $tiddler="target" $field="my-field" $subfilter="+[toggle[done]]" />

        To toggle between a value pair:

        <$action-listops $tiddler="target" $field="my-field" $subfilter="+[toggle[todo],[done]]" />

        Transcluded Attribute Values

         15 junio 2023 a las 5:53

        Transcluded attribute values are indicated with double curly braces around a TextReference. For example:

        attr={{tiddler}}
        attr={{!!field}}
        attr={{tiddler!!field}}

        The value of the attribute value will be the exact text retrieved from the TextReference. Any wiki syntax in that text will be left as-is.

        TranscludeWidget

         11 mayo 2023 a las 3:26

        Introduction

        The $transclude widget dynamically includes the content from another tiddler or variable, rendering it as if the transclude widget were replaced by the target content.

        The $transclude widget can be used to render content of any type: wikitext, images, videos, etc.

        Transclusion is the underlying mechanism for many higher level wikitext features, such as procedures, custom widgets and macros.

        Example

        Here is a complete example showing the important features of the $transclude widget:

        \procedure myproc(name,age)
        My name is <<name>> and my age is <<age>>.
        \end
        
        <$transclude $variable="myproc" name="James" age="19"/>
        • \procedure defines a variable as a procedure with two parameters, name and age
        • The content of the procedure refers to the parameters as variables
        • The $transclude widget specifies the variable to transclude, and values for the parameters.

        Legacy vs. Modern Mode

        The $transclude widget can be used in two modes:

        • New in: 5.3.0 Modern mode offers the full capabilities of the $transclude widget, and incorporates the functionality of the $macrocall widget. It is indicated by the presence of at least one attribute starting with a dollar sign $
        • Legacy mode offers a more limited set of capabilities. It is indicated by the absence of any attributes starting with a dollar sign $

        Modern mode is recommended for use in new applications.

        Attributes

        AttributeDescription
        (modern)(legacy)
        $variable-Name of the variable to transclude
        $tiddlertiddlerThe title of the tiddler to transclude (defaults to the current tiddler)
        $fieldfieldThe field name of the current tiddler (defaults to "text"; if present takes precedence over the index attribute)
        $indexindexThe index of a property in a DataTiddler
        $subtiddlersubtiddlerOptional SubTiddler title when the target tiddler is a plugin (see below)
        $modemodeOverride the default parsing mode for the transcluded text to "block" or "inline"
        $typeOptional ContentType used when transcluding variables, indexes or fields other than the text field
        $output-ContentType for the output rendering (defaults to text/html, can also be text/plain or text/raw)
        $recursionMarkerrecursionMarkerSet to no to prevent creation of Legacy Transclusion Recursion Marker (defaults to yes)
        $fillignore-Set to yes to make this transclusion invisible to the $depth attribute of the $slot widget (defaults to no)
        {attributes not starting with $}Any other attributes that do not start with a dollar are used as parameters to the transclusion
        {other attributes starting with $}Other attributes starting with a single dollar sign are reserved for future use
        {attributes starting with $$}Attributes starting with two dollar signs are used as parameters to the transclusion, but with the name changed to use a single dollar sign

        Basic Operation

        The basic operation of the $transclude widget is as follows:

        <$transclude/>Transcludes the text field of the current tiddler
        <$transclude $variable="alpha"/>Transcludes the variable "alpha" (note that procedures, custom widgets and macros are all special types of variable)
        <$transclude $tiddler="foo"/>Transcludes the text field of the tiddler "foo"
        <$transclude $field="bar"/>Transcludes the field "bar" of the current tiddler
        <$transclude $index="beta"/>Transcludes the index "beta" of the current tiddler
        <$transclude $tiddler="foo" $index="beta"/>Transcludes the index "beta" of the tiddler "foo"

        Transclusion Parameters

        Named string parameters can be passed to the $transclude widget. They are made available as variables within the transcluded text. Parameters are only supported in modern mode.

        When invoking a transclusion, parameters are specified as additional attributes that do not start with a dollar sign $:

        <$transclude $tiddler="MyTiddler" firstParameter="One" secondParameter="Two"/>

        To pass parameters whose names start with a dollar sign $, prefix them with an extra $. For example, to pass a parameter called $tiddler:

        <$transclude $tiddler="MyTiddler" $$tiddler="One"/>

        There are several different ways to declare parameters within a transclusion:

        An example of declaring parameters with the $parameters widget:

        <$parameters firstParameter="default" secondParameter="another default">
            Parameters are available here as the variables <<firstParameter>> and <<secondParameter>>.
        </$parameters>

        The Pragma: \parameters can be used as a shortcut syntax for declaring parameters. For example:

        \parameters (firstParameter:"default",secondParameter:"another default")
        Parameters are available here as the variables <<firstParameter>> and <<secondParameter>>.

        Transclusion Slots

        Transcluded content can define special named locations called slots. At the point of transclusion, blocks of wikitext can be passed to the $transclude widget to fill those slots.

        Slots work very similarly to parameters except that they can contain structured wikitext, and not just plain text. The primary advantage of slots over parameters is that the contents do not need to be wrapped in quotation symbols, making it much simpler to pass complex structures.

        For example, here we transclude the tiddler "Example" while using the $fill widget to pass wikitext blocks to fill the slots called "positive" and "negative":

        <$transclude $tiddler="Example">
          <$fill $name="positive">
            <h1>This is positive</h1>
          </$fill>
          <$fill $name="negative">
            <h3>This is negative</h3>
          </$fill>
        </$transclude>

        The tiddler "Example" uses the $slot widget to specify the slots to be filled:

        <ol>
          <li><$slot $name="positive"/></li>
          <li><$slot $name="negative"/></li>
        </ol>

        The output will be equivalent to:

        <ol>
          <li>
            <h1>This is positive</h1>
          </li>
          <li>
            <h3>This is negative</h3>
          </li>
        </ol>

        See $slot for more examples.

        Missing Transclusion Targets

        The TranscludeWidget uses the special slot ts-missing to specify the content to be rendered if the transclusion target is not defined (i.e. a missing tiddler or a missing field).

        For example:

        <$transclude $tiddler="MissingTiddler">
        <$fill $name="ts-missing">
        This content is displayed if `MissingTiddler` is missing.
        </$fill>
        <$fill $name="other">
        This content is passed to the transclusion as the slot value `other`
        </$fill>
        </$transclude>

        If no slots values are specified within the $transclude widget then the entire content of the widget is used as the missing content.

        For example:

        <$transclude $tiddler="MissingTiddler">
        This content is displayed if `MissingTiddler` is missing.
        </$transclude>

        Parsing modes

        TiddlyWiki parses text in two modes:

        • inline mode recognises character formatting such as emphasis, links
        • block mode recognises all the inline formatting, and adds block formatting such as tables, headings and lists

        Usually, the mode is determined by whether the transclude widget itself has been parsed in block or inline mode. This can be overridden with the mode attribute.

        For example, consider tiddler "A" with this content:

        # Item one
        #<$transclude tiddler="B"/>
        # Item two

        And a tiddler "B" with this content:

        # Item one - a
        # Item one - b

        The result will be something like this:

        1. Item one
        2. # Item one - a # Item one - b
        3. Item two

        This can be fixed by amending tiddler "A":

        # Item one
        #<$transclude tiddler="B" mode="block"/>
        # Item two

        See also these other examples.

        SubTiddler Access

        The transclude widget allows access to the individual tiddlers stored within a plugin.

        The following example will transclude the core version of the tiddler $:/DefaultTiddlers even if it has been overridden:

        <$transclude tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>

        Este es su aspecto:

        GettingStarted

        Transclusion

         30 noviembre 2014 a las 19:54

        Transclusion is the process of referencing one tiddler "A" from another tiddler "B" such that the content of "A" appears to be a part of "B".

        Copying and pasting content creates multiple copies of the same content in several different places. With transclusion, there can be a single copy and a special instruction in "B" which indicates the point at which content should be inserted from tiddler "A".

        Note that if the content of "A" is modified then the modification automatically appears in "B". This makes it easier to maintain repetitive content, by allowing every piece to be written in a single place, but viewed from many.

        The concept of transclusion plays an important role in the Philosophy of Tiddlers because it is the primary way in which small items of content are combined.

        To learn more:

        Transclusion and Substitution

         19 abril 2023 a las 11:31

        The power of WikiText comes from the ability to use the content of one tiddler inside another one. This ability takes several different forms that can easily be confused.

        The main distinction is between a transclusion and a textual substitution:

        • A transclusion is replaced dynamically with the value of either:
          • a tiddler field
          • a variable
        • Textual substitutions are performed on the text of macro definitions before they are used

        Tiddler Field Transclusion

        Transclusion in WikiText describes the basics of transclusion. For example:

        {{MyTiddler}}

        As described in HTML in WikiText, you can also transclude tiddler field values as attributes of HTML elements and widgets. For example:

        <$text text={{MyTiddler}}/>

        As described in Introduction to filter notation, you can also transclude tiddler field values as filter operands. For example:

        {{{ [tag{TiddlerContainingMyTag}] }}}

        Variable/Macro Transclusion

        Variables that were defined with parameter or variable substitution are referred to as "macros". The value of a variable/macro can be transcluded with the syntax:

        <<myMacro param:"Value of parameter">>

        As described in HTML in WikiText, you can also transclude a variable as the value of an attribute of HTML elements and widgets. For example:

        <$text text=<<myMacro>>/>

        As described in Introduction to filter notation, you can also transclude a variable as the value of a filter operand. For example:

        {{{ [tag<myMacro>] }}}

        Textual Substitution

        Textual substitution occurs when the value of a macro/variable is used. It is described in Macros.

        The key difference between substitution and transclusion is that substitution occurs before WikiText parsing. This means that you can use substitution to build WikiText constructions. Transclusions are processed independently, and cannot be combined with adjacent text to define WikiText constructions.

        Transclusion Basic Usage

         30 noviembre 2014 a las 19:48

        Simple Transclusion

        To include some content from TiddlerA into TiddlerB, edit the latter to include the following text:

        This is the content of TiddlerA: {{TiddlerA}}

        The result is that the content of the text field (i.e. the main content) of TiddlerA is rendered within TiddlerB.

        Usage

        The notation {{TiddlerA}} is a shortcut for {{TiddlerA!!text}}. This is because the default field for transclusion is text, but any other field can be used explicitly. For example, you can print the last time TiddlerA was modified using:

        TiddlerA was modified on {{TiddlerA!!modified}}

        By omitting the tiddler title, the transclusion notation can also be used to display the content of a field from the current tiddler, for example:

        The current tiddler was modified on {{!!modified}}

        Recursion Errors

        Notice that using {{!!text}} or {{}} causes an error (Recursive transclusion error in transclude widget), because it does not make sense to include the content of the current tiddler into the content of the current tiddler (that is, into itself). Whenever you encouter this error message, it means that you are trying to include something into itself, directly or indirectly (for example if tiddler A transcludes tiddler B which transcludes tiddler C which, in turn, transcludes tiddler A).

        Learning More

        In TiddlyWiki, transclusions are not limited to including raw content like the above. To learn about more advanced uses of transclusion, see Transclusion with Templates.

        See also:

        Transclusion in WikiText

         22 enero 2022 a las 19:33

        Introduction

        You can incorporate the content of one tiddler within another using the Transclusion notation:

        • {{MyTiddler}} transcludes a single tiddler
        • {{MyTiddler||TemplateTitle}} displays the tiddler through a specified TemplateTiddler
        • {{||TemplateTitle}} displays the specified template tiddler without altering the current tiddler
        • {{MyTiddler|Parameter}} transcludes a single tiddler with a single parameter
        • {{MyTiddler||TemplateTitle|Parameter|SecondParameter}} transcludes a single tiddler through a specified TemplateTiddler with two parameters

        Transcluding Text References

        You can also use a TextReference instead of a tiddler title:

        • {{MyTiddler!!field}} transcludes a specified field of a tiddler
        • {{!!field}} transcludes a specified field of the current tiddler
        • {{MyTiddler##index}} transcludes a specified indexed property of a DataTiddler
        • {{##index}} transcludes a specified indexed property of the current DataTiddler

        Filtered Transclusion

        A similar syntax can be used to transclude a list of tiddlers matching a specified filter:

        {{{ [tag[mechanism]] }}}
        {{{ [tag[mechanism]] ||TemplateTitle}}}

        Generated Widgets

        The WikiText transclusion syntax generates a TiddlerWidget wrapped around a TranscludeWidget. For example, {{MyTiddler||MyTemplate!!myField}} generates the following pair of widgets:

        <$tiddler tiddler="MyTiddler">
        <$transclude $tiddler="MyTemplate" $field="myField"/>
        </$tiddler>

        See also:

        transclusion Variable

         21 febrero 2015 a las 22:56

        The transclusion variable is set by the $transclude widget to a string that identifies the position of that widget within the widget tree.

        TiddlyWiki's core uses it to detect recursive transclusion. It is also used to implement the qualify macro.

        The string has the following syntax:

        {a|b|c|d|e|}

        1. the title of the current tiddler
        2. the title of the tiddler being transcluded
        3. the name of the field being transcluded
        4. the name of the property name or index being transcluded
        5. the name of the subtiddler being transcluded from a plugin

        Many of the five items are often blank.

        In the sidebar, the value of transclusion is:

        {|$:/core/ui/PageTemplate/sidebar|||}

        When the tiddler HelloThere is displayed in the story river, transclusion is set to:

        {HelloThere|HelloThere|||}

        Examples

        transclusion Variable (Examples)

         28 febrero 2015 a las 10:34

        This example shows how to distinguish between the sidebar and other environments:

        We are
        <$list
        filter="[<transclusion>prefix[{|$:/core/ui/PageTemplate/sidebar|||}]]"
        emptyMessage="in the story river.">
        in the sidebar.
        </$list>

        In the sidebar, this would show We are in the sidebar instead.

        Transclusion with Templates

         20 febrero 2015 a las 16:14

        Introduction

        In Transclusion Basic Usage we have seen how to include the content of a tiddler A into a tiddler B. Now suppose that tiddler A contains:

        @@background-color:yellow;
        Hello, my title is {{!!title}}
        @@

        This makes tiddler A display its title with a yellow background (see Styles and Classes in WikiText to learn about CSS style). Imagine that you want to display the title in the same way in tiddler B. But you don't want to copy/paste the style instructions, because you might want to change the background colour later and you want to keep it consistent among tiddlers. This looks like a typical case of transclusion, so let's try to transclude tiddler A in tiddler B the usual way with {{A}}. You should see the following content in tiddler B:

        Hello, my title is A

        The style is applied as expected, but the title is wrong: we want {{!!title}} to refer to the target tiddler B, and not the source tiddler A.

        The solution is to use a template. In this case, the source tiddler A is called the TemplateTiddler, and it is applied to tiddler B using the notation {{||A}}. The difference is that any TextReference which does not refer explicitly to a specific tiddler is applied to the current tiddler, that is, the target tiddler. As a result, tiddler B now looks as expected:

        Hello, my title is B

        Usage

        Transcluding via a template is like applying a mask: assuming that the source tiddler contains generic references (like eye holes in a mask), these will be replaced with the target tiddlers values (like the eyes of the person who wears the mask).

        A template can be applied to any tiddler, not necessarily the current one. This is achieved using the full notation {{<target>||<template>}}. The default <target> is the current tiddler (this is what we used in the above example).

        Examples

        A predefined template to render tags nicely

        You can apply the system template $:/core/ui/TagTemplate to a tag in order to see it as a tag pill with a drop-down menu:

        {{Transclusion||$:/core/ui/TagTemplate}}

        is rendered as

        See also:

        Translate TiddlyWiki into your language

         1 julio 2018 a las 19:57

        There is a special edition of TiddlyWiki that simplifies creating and maintaining translations:

        Note that no knowledge of Node.js or GitHub is required.

        You can translate TiddlyWiki on Node.js, type tiddlywiki editions/translators --listen and visit http://127.0.0.1:8080/ in your browser.

        See https://tiddlywiki.com/dev for technical details of creating and maintaining translations.

        TranslationMechanism

         11 septiembre 2014 a las 19:38

        The translation mechanism of TiddlyWiki manages and switches between language plugins that provide translations of the TiddlyWiki user interface. The developer site at https://tiddlywiki.com/dev/ explains how translators can create and submit translations for TiddlyWiki.

        The title of the current language plugin is read from the tiddler $:/language. If the selected plugin changes then any displayed translatable text automatically changes.

        Translation plugins are bundles of tiddlers that each contain an independent translatable string. The strings are transcluded as needed.

        Translatable strings are generally in the namespace $:/language/, for example:

        translink Macro

         5 mayo 2023 a las 10:03

        The translink macro returns a frame with the title and transcluded text of a chosen tiddler. The title links to the transcluded tiddler.

        If the chosen tiddler is missing, an appropriate message will be shown instead of the transcluded text.

        This is the default macro used when excising text and replacing it with a macro.

        Parameters

        title
        The title of the tiddler to be transcluded
        mode
        The mode of the transclude widget used inside the macro, defaults to block

        Examples

        translink Macro (Examples)

         5 mayo 2023 a las 10:29

        <<translink "Philosophy of Tiddlers">>
        <<translink "Philosophy of Tiddlers" inline>>
        <<translink Foo>>

        Trashbin by Mohammad

         17 noviembre 2020 a las 15:56

        The concept behind Trashbin plugin is to have a simple mechanism to move deleted tiddlers to Trashbin and be able to restore them later if required.

        https://kookma.github.io/TW-Trashbin/

        The trash (also known as the Recycle Bin in Microsoft Windows) is a temporary storage for tiddlers that have been deleted in a Tiddlywiki by the user, but not yet permanently erased.

        Typically, a trash bin is presented as a special storage, allowing the user to browse deleted (removed) tiddlers, undelete those that were deleted by mistake, or delete them permanently (either one by one, or by the "Empty Trash" function).

        tree Macro

         28 junio 2017 a las 17:46

        The tree macro renders an expandable tree view based on a prefix and separator within tiddler titles.

        Parameters

        prefix
        The prefix from which to generate the tree, defaults to $:/
        separator
        The separator between parts of the tiddler titles, defaults to /

        Examples

        tree Macro (Examples)

         28 junio 2017 a las 17:48

        <<tree prefix:"$:/">>

        <<tree prefix:"tree-macro-example-" separator:"-">>

        tree-macro-example-car

         

        tree-macro-example-car-boot

         

        tree-macro-example-car-boot-handle

         

        tree-macro-example-car-boot-lock

         

        tree-macro-example-car-roof

         

        tree-macro-example-car-roof-aerial

         

        tree-macro-example-car-roof-rails

         

        tree-macro-example-house

         

        tree-macro-example-house-attic

         

        tree-macro-example-house-attic-roof

         

        tree-macro-example-house-attic-window

         

        tree-macro-example-house-garden

         

        tree-macro-example-house-garden-lawn

         

        tree-macro-example-house-garden-shed

         

        tree-macro-example-house-kitchen

         

        tree-macro-example-house-kitchen-sink

         

        tree-macro-example-house-kitchen-table

         

        tree-macro-example-house-kitchen-window

         

        TriggeringWidgets

         13 noviembre 2021 a las 16:38

        Triggering widgets are a type of widget which can trigger ActionWidgets. Typically these widgets (such as the ButtonWidget) will trigger actions based on interaction from the user.

        The following triggering widgets are provided:

        See ActionWidgets for more information and examples of how TriggeringWidgets and ActionWidgets work together.

        trim Operator

         30 noviembre 2020 a las 14:11
        purposereturns each item in the list with whitespace, or a given character string, trimmed from the start and/or end
        inputa selection of titles
        suffixT = New in: 5.1.23 prefix to trim from the start only, suffix to trim from the end only. If omitted (default), trim from both start and end
        parameterS = New in: 5.1.23 a string of characters
        outputthe input titles with S, or whitespace if S is not specified, trimmed from the start and/or end

        Learn more about how to use Filters

        New in: 5.1.20

        New in: 5.1.23The trim filter allows a parameter specifying a string to trim.

        Examples

        trim Operator (Examples)

         13 junio 2019 a las 16:39

        [[ a b ]trim[]addprefix[-]addsuffix[-]]

        [[ abc ]] [[def ]] [[ ghi]] +[trim[]addprefix[-]addsuffix[-]]

        [[ abc ]] [[def ]] [[ ghi]] +[trim:prefix[]addprefix[-]addsuffix[-]]

        [[ abc ]] [[def ]] [[ ghi]] +[trim:suffix[]addprefix[-]addsuffix[-]]

        abacus baobab +[trim[ab]]

        abacus baobab +[trim:prefix[ab]]

        abacus baobab +[trim:suffix[ab]]

        TriTarget.org by Devin Weaver

         24 abril 2016 a las 12:21

        A personal website built with TiddlyWiki.

        https://tritarget.org

        TriTarget.org is a name I came up with in high school. I was big into computer programming and wanted a company name that was kinda catchy. When I made a few programs in BASIC I would brand them with TriTarget as a way to show off my company (Even though I didn't have one).

        trunc Operator

         13 junio 2019 a las 9:48
        purposetruncates a list of numbers to their integer part, removing any fractional part
        inputa selection of titles
        outputtruncates each of the input numbers to their integer part, removing any fractional part

        Learn more about how to use Filters

        New in: 5.1.20 See Mathematics Operators for an overview.

        The trunc operator rounds towards zero. To round away from zero, use untrunc.

        Examples

        trunc Operator (Examples)

         13 junio 2019 a las 9:48

        [[1.6]trunc[]]

        [[-1.6]trunc[]]

        =-1.2 =-2.4 =3.6 =4.8 =5.1 +[trunc[]]

        Tuesday

         16 noviembre 2021 a las 22:11

        This example tiddler is used to illustrate some of the Filter Operators.

        Tutoriales

         5 junio 2016 a las 6:44

        Páginas con tutoriales y consejos relacionados con TiddlyWiki.

        Envía más tutoriales que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo

        tv-adjust-heading-level Variable

         9 junio 2018 a las 12:24

        The tv-adjust-heading-level variable allows the level of headings to be adjusted. It is interpreted as a positive or negative number (e.g. "2" or "-3") that is added to the heading level for display.

        Note that if the resulting heading level is less than 1 then level 1 is used instead. This means that specfiying a large negative adjustment factor will reset all headings to display as level 1. Similarly, heading levels larger than 6 are clamped to the maximum HTML heading level of 6.

        Examples

        tv-adjust-heading-level Variable (Examples)

         9 junio 2018 a las 12:24

        Tiddlers

        Sample Headings 1,2,3

        ! This is a Level 1 Heading
        
        This is a paragraph.
        
        <$vars tv-adjust-heading-level="-2">
        
        {{Sample Headings 3,4,5}}
        
        </$vars>
        
        !! This is a Level 2 heading
        
        <$vars tv-adjust-heading-level="-1">
        
        {{Sample Headings 4,5,6}}
        
        </$vars>
        
        

        Sample Headings 3,4,5

        !!! This is written as a Level 3 heading
        
        !!!! This is written as a Level 4 heading
        
        !!!!! This is written as a Level 5 heading
        

        Sample Headings 4,5,6

        !!!! This is written as a Level 4 heading
        
        !!!!! This is written as a Level 5 heading
        
        !!!!!! This is written as a Level 6 heading
        

        Example

        <$transclude tiddler="Sample Headings 1,2,3" mode="block"/>

        Variable: tv-auto-open-on-import

         16 abril 2016 a las 5:07

        La variable tv-auto-open-on-import controla si el mensaje tm-import-tiddlers abre en el StoryRiver el tiddler $:/Import (que muestra la lista de tiddlers pendientes de importación).

        Por defecto, el tiddler se abre, pero si la variable tiene valor no, no lo hace.

        Un ejemplo de ajuste de esta variable con valor no puede verse en el plugin de actualización en el asistente de actualización de TiddlyWiki, donde el usuario arrastra los archivos que quiera actualizar pero en pantalla no se muestra la importación del modo habitual.

        tv-config-static Variable

         17 junio 2023 a las 9:55

        New in: 5.3.0 The tv-config-static variable is set to yes within static rendering templates, and is unset in other contexts.

        It is useful for selectively hiding or showing content depending on whether a rendering is static or interactive.

        tv-config-toolbar-class Variable

         28 febrero 2015 a las 13:58

        The tv-config-toolbar-class variable controls the value of the CSS class attribute on the HTML element for a toolbar button.

        It can be set prior to transcluding such a button.

        In most environments, it defaults to tc-btn-invisible, which removes the button's background colour and border.

        Examples

        tv-config-toolbar-class Variable (Examples)

         28 febrero 2015 a las 13:57

        <$set name="tv-config-toolbar-class" value="tc-btn-invisible">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        

        <$set name="tv-config-toolbar-class" value="green-background">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        

        The green-background CSS class is declared in a stylesheet within this tiddler.

        tv-config-toolbar-icons Variable

         28 febrero 2015 a las 14:13

        The tv-config-toolbar-icons variable controls whether toolbar buttons display icons.

        It can be set to yes or no prior to transcluding such a button.

        The standard page template sets it to the value found in $:/config/Toolbar/Icons, with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the Configuración tab of the Control Panel.

        Examples

        See also tv-config-toolbar-text.

        tv-config-toolbar-icons Variable (Examples)

         28 febrero 2015 a las 14:14

        <$set name="tv-config-toolbar-icons" value="no">
        <$set name="tv-config-toolbar-text" value="yes">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        </$set>
        

        <$set name="tv-config-toolbar-icons" value="yes">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        

        tv-config-toolbar-text Variable

         28 febrero 2015 a las 14:14

        The tv-config-toolbar-text variable controls whether toolbar buttons display text.

        It can be set to yes or no prior to transcluding such a button.

        The standard page template sets it to the value found in $:/config/Toolbar/Text, with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the Configuración tab of the Control Panel.

        Examples

        See also tv-config-toolbar-icons.

        tv-config-toolbar-text Variable (Examples)

         28 febrero 2015 a las 14:05

        <$set name="tv-config-toolbar-text" value="no">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        

        <$set name="tv-config-toolbar-text" value="yes">
        {{$:/core/ui/Buttons/new-tiddler}}
        </$set>
        

        tv-filter-export-link Variable

         28 agosto 2017 a las 10:57

        New in: 5.1.15 The tv-filter-export-link variable controls the value of the href attribute on the HTML a element generated by the $link widget. If defined, it takes precedence over the tv-wikilink-template Variable.

        This variable has no useful effect when TiddlyWiki is running in a browser, as the href attribute is ignored there – links between tiddlers are performed by JavaScript instead. The variable comes into play when one is using the Node.js configuration to generate a static version of a wiki.

        The variable is treated as a filter that is given the target tiddler title as input. The filter is evaluated and the first result is used as the href attribute.

        For example:

        \define tv-filter-export-link() [encodeuricomponent[]encodeuricomponent[]addsuffix[.html]]

        See also the tv-get-export-link variable, which dominates over this one.

        tv-get-export-image-link Variable

         28 febrero 2015 a las 13:09

        The tv-get-export-image-link variable controls the value of the src attribute on the HTML img element generated by the $image widget when the value of its source attribute is not the title of a tiddler.

        The variable should be a macro with the following parameter:

        src
        The value of the source attribute – equivalent to the image name specified in the shorthand syntax [img[source]]

        The ability to override image URIs in this way can be useful when one is using the Node.js configuration to export a static version of a wiki.

        Examples

        tv-get-export-image-link Variable (Examples)

         

        This example fetches the TiddlyWiki icon:

        \define tv-get-export-image-link(src) https://www.tiddlywiki.com/$src$
        
        [img[favicon.ico]]

        tv-get-export-link Variable

         28 febrero 2015 a las 13:09

        The tv-get-export-link variable controls the value of the href attribute on the HTML a element generated by the $link widget.

        This variable has no useful effect when TiddlyWiki is running in a browser, as the href attribute is ignored there – links between tiddlers are performed by JavaScript instead. The variable comes into play when one is using the Node.js configuration to generate a static version of a wiki.

        The variable should be a macro with the following parameter:

        to
        The title of the target tiddler of the link, with no escaping

        See also tv-wikilink-template. If both that variable and this one exist, this one dominates.

        tv-get-export-path Variable

         28 febrero 2015 a las 13:17

        The tv-get-export-path variable specifies the full pathname to which the rendertiddlers Node.js command writes each tiddler.

        The variable should be implemented as a JavaScript macro with the following parameter:

        title
        The title of the tiddler

        If no such macro exists, the tiddlers are written to files whose names are percent-encoded, in the command's output folder.

        tv-history-list Variable

         29 junio 2017 a las 8:46

        The tv-history-list variable is assigned by the NavigatorWidget to contain the title of the tiddler containing the current history list.

        Compare tv-story-list.

        tv-show-missing-links Variable

         

        The tv-show-missing-links variable defines if missing links within the scope of the variable are rendered as links or not.

        Globally, the variable is set within the PageTemplate and can be changed in the $:/ControlPanel under Settings - Show missing links to tiddlers

        If tv-show-missing-links is set to no, missing links are rendered as plain text

        If tv-show-missing-links is set to yes, missing links are rendered as wiki-links

        tv-story-list Variable

         29 junio 2017 a las 8:45

        The tv-story-list variable is assigned by the NavigatorWidget to contain the title of the tiddler containing the current story list.

        Compare tv-history-list.

        tv-tiddler-preview Variable

         20 junio 2015 a las 9:27

        The tv-tiddler-preview variable indicates whether content is being rendered in a tiddler preview panel.

        The value is yes within the preview panel, and undefined elsewhere.

        tv-wikilink-template Variable

         28 agosto 2017 a las 10:56

        The tv-wikilink-template variable controls the value of the href attribute on the HTML a element generated by the $link widget. The tv-filter-export-link, if defined, it takes precedence over the tv-wikilink-template variable.

        This variable has no useful effect when TiddlyWiki is running in a browser, as the href attribute is ignored there – links between tiddlers are performed by JavaScript instead. The variable comes into play when one is using the Node.js configuration to generate a static version of a wiki.

        The variable is treated as if it was a macro with the following parameters:

        uri_encoded
        The title of the target tiddler of the link, but percent-encoded
        uri_doubleencoded
        The value of the uri_encoded parameter but percent-encoded again, i.e. with its % characters further converted to %25
        \define tv-wikilink-template() ../tiddlers/$uri_encoded$.html

        The variable defaults to #$uri_encoded$.

        See also the tv-get-export-link variable, which dominates over this one.

        tv-wikilink-tooltip Variable

         28 febrero 2015 a las 13:04

        The tv-wikilink-tooltip variable specifies the default value for the tooltip attribute of the $link widget.

        It is often defined as a macro, and its value parsed as inline WikiText.

        Examples

        tv-wikilinks Variable

         28 febrero 2015 a las 13:04

        The tv-wikilinks variable controls the behaviour of the $link widget.

        The widget normally produces a link to a tiddler. But if this variable has the value no, the widget suppresses the link and simply displays the text that would otherwise have served as the link.

        You can suppress links for a whole tiddler by placing the following line at the start of the tiddler's text:

        \define tv-wikilinks() no

        This variable has no effect on external links, as those do not involve the $link widget.

        Examples

        tv-wikilinks Variable (Examples)

         28 febrero 2015 a las 10:44

        HelloThere,
        [[HelloThere]],
        <$link to="HelloThere">is //this// a link?</$link>

        <$set name="tv-wikilinks" value="no">
        HelloThere,
        [[HelloThere]],
        <$link to="HelloThere">is //this// a link?</$link>
        </$set>

        TW-Scripts by Mohammad

         6 enero 2021 a las 15:10

        TW-Scripts is one of the most comprehensive collections of solutions for Tiddlywiki 5.

        https://kookma.github.io/TW-Scripts/

        TW-Scripts includes:

        • Collected solutions to questions in Tiddlywiki Google groups
        • Learn through examples
        • Templates, stylesheets
        • Wikitext, macros, and snippets
        • Tips and tricks
        • Search tools 

        Intérprete TW2

         4 mayo 2016 a las 15:27

        Este es un plugin experimental que añade la funcionalidad de mostrar WikiText escrito para la primera versión "Classic" de TiddlyWiki.

        Está disponible en: https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/

        TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark

         15 enero 2021 a las 12:10

        Google-Firebase hosted version of TiddlyWiki5.

        https://github.com/neumark/tw5-firebase

        I've been using TiddlyWiki5 with Google Firebase for over a year now. It's stable enough to use on a daily basis. There's a detailed walkthrough of how to create your own instance with lots of screenshots. The entire process takes less than 30 minutes: https://neumark.github.io/tw5-firebase/

        Please consider this version a proof of concept rather than a polished product! My focus was on multi-device or small-team collaboration:

        • Basic authorisation (bags have an access policy determining who can read / write them).
        • Multiple wikis can be hosted under a single firebase account.
        • It uses Firebase's built-in social auth to log in users.
        • Tiddlers are written individually with locking, preventing users overwriting each others' updates.

        TW5-SingleExecutable by Jed Carty

         6 enero 2021 a las 15:10

        TiddlyWiki5 Packaged with the multi-user plugin in a single executable file.

        https://github.com/OokTech/TW5-SingleExecutable

        Tiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux.

        TWaddle by Matias Goldman

         29 mayo 2015 a las 9:43

        A collection of hints and tips, musings and proposals from long-time TiddlyWiki contributor Mat Goldman.

        http://twaddle.tiddlyspot.com/

        This is Mat's, a.k.a <:-) little man-cave in the TiddlyVerse.

        Most TW development is, understandably, based on the premise that "Improve code ➔ Better TW". TWaddle is also about developing TW but from the perspective that Bigger community ⇄ Better TW. Thus, TWaddle looks more to people issues - how to attract them, how to make them stick with TW etc.

        I'm not a programmer but I am a TW enthusiast so I tiddlefiddle enough to make the occasional discovery of something cool. Given the amount of words I utter, it is also a mere numbers game before I say something that makes sense. TWaddle is intended to capture these eventualities.

        TWCommunitySearch

         6 enero 2021 a las 15:10

        The CommunitySearch wiki aggregates many public wikis from the community. It is updated automatically every day. At the time of writing, more than 5000 tiddlers are indexed, thus giving access to the largest known collection of TW content.

        It lets you search for some specific content among a preselected list of wikis. The indexed content is mostly focused on TW usage, so you would typically use this search system to find information about a particular aspect of TiddlyWiki. Say for example that you want to learn how to make a table of content, type "table of content" in the CommunitySearch box (also accessible in the default tiddler GettingStarted). The search results are links to various wikis, and point directly to the specific tiddlers containing your request.

        The CommunitySearch wiki also lets you:

        TWEUM Thumbnail.jpg

         

        Twexe: Single File Tiddlywiki5 executable

         6 enero 2021 a las 15:10

        Single File Tiddlywiki5 executable

        https://ihm4u.github.io/twexe/

        Features

        • Automatic backups
        • Automatic saving
        • No browser add-ons needed!!
        • Works on Linux and Windows
        • Single file executable, can be moved, copied, etc.
        • Wiki is compressed, occupying less space on your disk (sometimes even a third of the space!)
        • Converts any Tiddlywiki5 file to a single file executable , no need for special tiddlywiki plugins
        • Automatically uses the saving tab in the control panel (there you can specify a backup directory if you don't like the default)
        • Easily get back the html wiki file from the executable twexe (if you need it for some reason)
        • Opens up the possibility to run external executables from your wiki (to draw charts, etc.) - stay tuned!!
        • Supports external images (i.e. with _canonical_uri field)

        Twitter Plugin

         28 marzo 2017 a las 18:39

        This plugin adds a <$twitter> widget that can embed a variety of entities from twitter.com:

        • Individual tweets and conversation threads
        • Buttons to tweet a hashtag/account, follow/like an account, or share a URL
        • Timelines showing tweets from a user, hashtag, list or collection

        twproxy by Steve Gattuso

         6 enero 2021 a las 15:10

        An authentication proxy for your TiddlyWiki.

        https://github.com/stevenleeg/twproxy

        One of my favorite aspects of TiddlyWiki has been that it's web-based, making it possible for me to access my wiki from everywhere (especially my phone). That being said, I'm a bit paranoid, so I was left a bit unsatisfied with the tiddlywiki server's HTTP basic auth for protecting my wiki. ~23 commits later, I've created something called twproxy that I'd like to share with you all today, as I'm hoping somebody other than myself will find it useful.

        Essentially it is a simple proxy that puts your wiki behind a username, password, and optional 2-factor auth prompt. This gives you added security in addition to the ability to remember your credentials past one browsing session (I was getting sick and tired of typing my username/password in over and over using basic auth).

        Typed Blocks in WikiText

         20 enero 2014 a las 17:14

        WikiText can include blocks of text that are rendered with an explicit ContentType like this:

        $$$image/svg+xml
        <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
          <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="green" />
        </svg>
        $$$

        This renders as:

        It is also possible to abbreviate the ContentType to a file extension. For example:

        $$$.svg
        <svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
          <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
        </svg>
        $$$

        This renders as:

        Unknown types render as plain text:

        $$$text/unknown
        Some plain text, which will not be //formatted//.
        $$$

        Which renders as:

        Some plain text, which will not be //formatted//.

        A render type can also be specified, causing a particular text rendering to be displayed. For example:

        $$$text/vnd.tiddlywiki>text/html
        This is ''some'' wikitext
        $$$
        
        $$$text/vnd.tiddlywiki>text/plain
        This is ''some'' wikitext
        $$$

        Renders as:

        <p>This is <strong>some</strong> wikitext</p>
        This is some wikitext

        Estilo: Tipografía

         18 abril 2016 a las 18:01

        Se recomienda el uso de las macros de documentación para facilitar las futuras tareas de mantenimiento del texto frente a nuevos cambios y actualizaciones.

        Se recomienda precaución en el uso arbitrario de estilos directos de formato (negrita, cursiva ...etc). Si se puede usar una macro, conviene usarla. Si no existe la macro adecuada, se puede crear o, si no se sabe cómo, pedir su creación en el Grupo de Google.

        Por el mismo motivo, se aconseja el uso de acentos graves `...` para transcribir fragmentos de código y WikiText, pero no para nombres de cosas tales como campos, operadores, variables o widgets. Estas tienen su macro correspondiente.

        Para mantener cierto orden y evitar colisiones de código al usar distintos sistemas operativos:

        • Apóstrofos y comillas deben ser del tipo recto ' "
        • Las elipsis se señalan con tres puntos individuales ..., en lugar de con "puntos suspensivos" .
        • Se recomienda evitar el uso de un único guión como signo de puntuación. En su lugar, debe usarse guión doble -- –que TiddlyWiki interpreta como guión corto o "en-dash"–.
        • Los elementos de una lista o tabla llevan punto al final únicamente si se trata de frases completas. Si no es así, no llevan puntuación alguna.

        Cómo desinstalar un plugin

         4 mayo 2016 a las 16:43
        1. Sólo por si acaso, haz copia de seguridad de tu archivo HTML de TiddlyWiki
        2. Abre la pestaña Complementos del Panel de control
        3. Pincha el nombre del plugin que quieres desinstalar para abrir el tiddler que lo contiene.
        4. Pincha el botón Editar
        5. Pincha el botón Borrar
        6. Guarda los cambios con el botón Guardar cambios
        7. Recarga la página
        8. El plugin se ha desinstalado por completo

        Uninstalling a plugin with Node.js

         17 junio 2022 a las 14:37

        Follow these instructions when using TiddlyWiki with client-server Node.js configuration:

        1. Quit the server if it is running
        2. Edit the tiddlywiki.info file (it is in JSON format) and locate the plugins and themes section (see below)
        3. Remove the entries corresponding to the plugins you wish to remove
          • Take care to retain commas to separate items
          • Do not terminate the last item in a list with a comma
        4. Restart the server
        {
        	"plugins": [
        		"tiddlywiki/codemirror"
        	],
        	"themes": [
        		"tiddlywiki/vanilla",
        		"tiddlywiki/snowwhite"
        	]
        }
        Note
        An overview of working with plugins can be found at Plugins

        unique Operator

         
        purposeremove all duplicate items from the current list
        inputa list of items
        parameterignored
        outputa list of unique items

        Learn more about how to use Filters

        unique Operator (Examples)

         17 febrero 2021 a las :32

        To remove duplicate entries from a list where deduplication has been prevented using the filter run prefix =:

        =[[E]] =[[A]] =[[B]] =[[C]] =[[C]] =[[D]] =[[C]] +[unique[]]

        UnpackPluginCommand

         29 octubre 2014 a las 11:43

        Extrae los tiddlers de un plugin y los presenta como tiddlers ordinarios

        --unpackplugin <title>

        untagged Operator

         3 febrero 2015 a las 19:18
        purposediscard any input titles that have tags
        inputa selection of titles
        parameternone
        outputthose input tiddlers that have no tags
        ! outputthose input tiddlers that have at least one tag

        Learn more about how to use Filters

        A tiddler is deemed to have no tags if it:

        • doesn't exist
        • doesn't have a tags field
        • has an empty tags field

        Examples

        untagged Operator (Examples)

         24 enero 2015 a las 14:27

        [untagged[]]

        [all[shadows]untagged[]]

        [list[HelloThere]!untagged[]]

        untrunc Operator

         17 junio 2019 a las 17:33
        purposerounds a list of numbers to the next integer with largest absolute value, that is, away from zero
        inputa selection of titles
        outputrounds each of the input numbers to the next integer with largest absolute value, that is, away from zero

        Learn more about how to use Filters

        New in: 5.1.20 See Mathematics Operators for an overview.

        This is the inverse operation of trunc: trunc rounds to zero, but untrunc rounds away from zero.

        Examples

        untrunc Operator (Examples)

         17 junio 2019 a las 17:29

        [[1.6]untrunc[]]

        [[-1.6]untrunc[]]

        =-1.2 =-2.4 =3.6 =4.8 =5.1 +[untrunc[]]

        unusedtitle Macro

         27 abril 2021 a las 19:40

        The unusedtitle macro returns an unused title. Optionally you can provide a base title to generate the new title.

        It uses the same method as the create new tiddler button, a number is appended to the end of the base name.

        Parameters

        baseName
        A string specifying the desired base name, defaulting to New Tiddler.
        The default setting can be adjusted in the $:/ControlPanel : Info : Basics - tab.
        separator
        New in: 5.2.0 An optional string specifying the separator between baseName and the unique number. eg: separator:"-". Defaults to a space: " ". If you need an empty separator use the template!
        template
        New in: 5.2.0 A optional template string can be used to allow you maximum flexibility. If the template string is used, there will always be a counter value.

        Template String

        $basename$
        This variable will be replaced by the content of the baseName parameter
        $separator$
        This variable will be replaced by the separator parameter
        $count$
        This variable will be created automatically and is a counter starting with 0
        $count:4$
        This variable will be created automatically and starts at 0000
        :4 represents the number of digits

        Examples

        unusedtitle Macro (Examples 1)

         18 noviembre 2021 a las 2:55
        <<unusedtitle template:"$count:2$-new">>

        <<unusedtitle baseName:"new" template:"$count:2$-$basename$">>

        <<unusedtitle baseName:"new" separator:"-" template:"$count:2$$separator$$basename$">>


        Show the code
        \define testCreate()
        <$action-createtiddler $basetitle=<<unusedtitle template:"$count:2$-new">>/>
        \end
        
        \define testCreate1()
        <$action-createtiddler $basetitle=<<unusedtitle baseName:"new" separator:"-" template:"$count:2$$separator$$basename$">>/>
        \end
        
        \define testNew()
        <$action-sendmessage $message="tm-new-tiddler" title=<<unusedtitle baseName:"new" template:"$count:2$-$basename$">> />
        \end
        
        ```
        <<unusedtitle template:"$count:2$-new">>
        ```
        
        <$button actions=<<testCreate>> >
        <$action-setfield $tiddler="$:/state/tab/sidebar--595412856" text="$:/core/ui/SideBar/Recent"/>
        Create Tiddler
        </$button>
        
        ```
        <<unusedtitle baseName:"new" template:"$count:2$-$basename$">>
        ```
        
        <$button actions=<<testNew>>>
        <$action-setfield $tiddler="$:/state/tab/sidebar--595412856" text="$:/core/ui/SideBar/Recent"/>
        New Tiddler
        </$button>
        
        ```
        <<unusedtitle baseName:"new" separator:"-" template:"$count:2$$separator$$basename$">>
        ```
        
        <$button actions=<<testCreate1>>>
        <$action-setfield $tiddler="$:/state/tab/sidebar--595412856" text="$:/core/ui/SideBar/Recent"/>
        Create Tiddler
        </$button>
        
        ---
        
        <details>
            <summary>Show the code</summary>
            <pre><code><$view><pre><code>
        </details>
        

        unusedtitle Macro (Examples)

         28 febrero 2021 a las 14:12

        <<unusedtitle>>
        The following example works best if there is an open tiddler in draft mode, or there is a tiddler named "New Tiddler". So you can see the automatic numbering.
        <<unusedtitle separator:"-">>
        <<unusedtitle baseName:"anotherBase">>
        <<unusedtitle baseName:"About" separator:"-">>
        <<unusedtitle template:"$count:2$-test">>


        Working buttons can be found at: unusedtitle Macro (Examples 1). You'll have to examine the code to see, what's going on.

        UpgradeMechanism

         6 junio 2016 a las 13:28
        1. Open upgrade.html
        2. Includes a data tiddler called $:/UpgradeLibrary that contains the latest compatible versions of all plugins in the library
        3. Drag in old wiki file
        4. Place tiddlers into a data tiddler $:/Import that is typed as a "pending import"
        5. Kick off import processing for each tiddler
          1. Give each "upgrader" module a chance to inspect the incoming tiddlers
          2. Upgrader modules can trigger actions for each tiddler:
            • Display a warning message
            • Don't import
            • Replace with another tiddler from the upgrade library
            • Disable incompatible plugins
        6. Display the newly created pending import tiddler through a new view template segment
          1. Displays the payload tiddlers as a list of titles and checkboxes, with a dropdown showing the full details of the tiddler
          2. Perhaps we also suppress the usual JSON display for data tiddlers behind a reveal widget
        7. The user can adjust the selection checkboxes
        8. Clicking "Upgrade" unpacks the selected tiddlers from the pending import tiddler
        9. The pending import tiddler and the upgrade library tiddler are excluded from the subsequent save operation

        Actualizar TiddlyWiki a la última versión

         21 abril 2016 a las 16:25

        Se publican con regularidad nuevas versiones de TiddlyWiki que incorporan correcciones de "bugs" y mejoras. Es buena idea mantenerse al día actualizándolo a la última versión.

        El procedimiento que aquí se describe es para actualizar un Tiddlywiki autónomo como archivo único en html. Para actualizar TiddlyWiki en Node.js, el procedimiento es otro.

        Al actualizar, recuerda la primera regla de uso de TiddlyWiki y que tú eres el responsable de velar por tus datos. Asegúrate de hacer copias de seguridad con regularidad y, muy especialmente, antes de actualizar el núcleo de TiddlyWiki

        Actualización online

        Este procedimiento funcionará en la mayoría de navegadores. Ni uno solo de tus datos personales saldrá de tu ordenador durante todo el proceso.

        1. Localiza el archivo HTML de TiddlyWiki en tu disco duro
        2. Abre el navegador y ve a https://tiddlywiki.com/upgrade.html. Ahí encontrarás el "Upgrader": asistente de actualización de TiddlyWiki. Tiene una gran flecha en el centro y, debajo de ella, el número de versión al que corresponde
        3. Arrastra el archivo HTML de TiddlyWiki a la ventana del navegador donde tienes el Upgrader y suéltalo sobre la flecha
          • Si tu archivo está cifrado, se te pedirá la contraseña
        4. Se te mostrará una tabla de tiddlers
          • Son absolutamente todos los tiddlers que forman parte de tu versión de TiddlyWiki
          • En la columna Select, verás marcados los tiddlers que formarán parte de la nueva versión.

        Guarda los cambios de la nueva versión #* Los tiddlers que NO se actualizarán aparecen desmarcados y una nota en la columna status te dice el motivo. Si todo te parece bien...

        1. ...haz clic en el botón Upgrade, que tienes arriba del todo
        2. Haz clic en el botón verde Save upgraded TiddlyWiki file

        El navegador te pedirá que descargues un archivo llamado "upgrade.thml". Este archivo es la versión actualizada de tu archivo. Localízalo en tu disco duro, cambia el nombre por el de tu wiki y sustituye en su localización el viejo archivo por el nuevo.

        Actualización offline

        Puedes descargar el Upgrader a tu disco duro y realizar el proceso anterior de arrastra-y-suelta para actualizar tu archivo localmente, sin necesidad de conexión de red.

        Problemas conocidos durante la actualización

        Firefox Security Restrictions

        Se han dado casos del siguiente error al intentar actualizar en Firefox:

        Error while saving:

        Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied

        • La actualización falla o se interrumpe por restricciones de seguridad de Firefox.
        • Comprueba si la versión de Firefox instalada en tu ordenador es la última disponible. En caso negativo, actualiza el navegador y vuelve a intentarlo.
        • Si el error persiste, sugerimos usar otro navegador o actualizar TiddlyWiki offline

        Customizaciones incompatibles

        Es posible –y se han dado casos de ello– que customizaciones de versiones anteriores de ~Tiddlywiki dejen de funcionar después actualizar el núcleo a la última versión.

        Hay dos maneras maneras en que puedes diagnosticar y solucionar los problemas que se presenten:

        • Repite la actualización deseleccionando manualmente los tiddlers de tu versión que aplican customizaciones a TiddlyWiki
        • Desactiva las customizaciones abriendo TiddlyWiki en Modo seguro

        Puedes ver una lista de tiddlers ocultos modificados en la pestaña Filtro de la Búsqueda avanzada. En el desplegable, selecciona 'Tiddlers ocultos anulados'

        Actualizar TiddlyWiki a la última versión en Node.js

         6 mayo 2016 a las 5:54

        Si has instalado TiddlyWiki en Node.js de la forma habitual, puedes actualizarlo a la última versión con este comando:

        npm update -g tiddlywiki

        En Mac o Linux necesitas añadir "sudo":

        sudo npm update -g tiddlywiki

        uppercase Operator

         19 junio 2019 a las 12:08
        purposereturns each item in the list as uppercase
        inputa selection of titles
        outputthe input titles with each lowercase letter replaced by the equivalent uppercase letter

        Learn more about how to use Filters

        uppercase Operator (Examples)

         13 junio 2019 a las 16:36

        [[Abc]uppercase[]]

        [tag[HelloThere]uppercase[]]

        URI

         28 febrero 2015 a las 11:36

        A URI (also often known as a URL) is a string of characters used to specify the location of a resource such as a web page.

        Using a custom path prefix with the client-server edition

         12 septiembre 2014 a las 15:16

        By default, when running TiddlyWiki on Node.js, the server exposes the wiki at the URI formed from the protocol, host and port - for example, http://127.0.0.1:8080/.

        There are two steps to running the wiki at a custom path like http://127.0.0.1:8080/path/to/my/wiki/:

        1. Configure the server by passing /path/to/my/wiki as the pathprefix argument of the ServerCommand
        2. Configure the client by creating a tiddler called $:/config/tiddlyweb/host that contains $protocol$//$host$/path/to/my/wiki/

        Using Excise

         5 mayo 2023 a las 11:42

        Excise text

        From the EditorToolbar you can export selected text to a new tiddler and insert a link, Transclusion or macro in its place. Click Excise text (), input name of the new tiddler, and choose excise method.

        How to excise text

        1. Highlight the relevant piece of text
        2. Click Excise text ()
        3. Give the new tiddler a title.
        4. Choose if the new tiddler will be tagged with the title of the current tiddler (see note below).
        5. Choose replacing method: link, transclusion, or macro.
        6. Click the Escindir button

        Note! If you choose the option to Tag new tiddler with the title of this tiddler, the new tiddler will be tagged with the name of the current tiddler before it has been edited. If you have changed the title of the current tiddler, save it first and edit it again to perform excision with this option.

        Using HTTPS

         11 noviembre 2021 a las 2:36

        By default, TiddlyWiki's WebServer serves resources over the insecure HTTP protocol. The risk is minimal if it is only being used within a private, trusted network but in many situations it is desirable to use a secure HTTPS connection.

        HTTPS requires the server to be configured with a certificate via a "cert" file and a "key" file, configured via the tls-cert and tls-key parameters.

        New in: 5.2.2 The optional tls-passphrase parameter allows the server to use certificate files that have been generated with a passphrase/password.

        Certificates can be obtained from a certification authority such as https://letsencrypt.org/, or you can create a self-signed certificate for internal testing.

        To create the required certificate files with the popular openssl utility:

        openssl req -newkey rsa:2048 -new -nodes -keyout mywikifolder/key.pem -out mywikifolder/csr.pem
        openssl x509 -req -days 365 -in mywikifolder/csr.pem -signkey mywikifolder/key.pem -out mywikifolder/server.crt
        tiddlywiki mywikifolder --listen username=joe password=bloggs tls-key=key.pem tls-cert=server.crt

        If using a tls-passphrase to generate the certificate files, the commands would change as below:

        • remove the -nodes flag, which specifies "no encryption"
        • replace TLS_PASSPHRASE in the -passout and -passin parameters in the below commands with your chosen string.

        This is the simplest, but least secure method, of passing a passphrase to the certificate utility. See this Stack Exchange anwser on openssl certificates and the openssl and openssl-passphrase-options page in the openssl utility documentation.

        openssl req -newkey rsa:2048 -passout pass:TLS_PASSPHRASE -new -keyout mywikifolder/key.pem -out mywikifolder/csr.pem -passout pass:TLS_PASSPHRASE
        openssl x509 -req -days 365 -in mywikifolder/csr.pem -signkey mywikifolder/key.pem -out mywikifolder/server.crt -passin pass:TLS_PASSPHRASE
        tiddlywiki mywikifolder --listen username=joe password=bloggs tls-key=key.pem tls-cert=server.crt tls-passphrase=TLS_PASSPHRASE

        Usar enlaces para desplazarse entre tiddlers

         22 abril 2016 a las 10:38

        Para moverte de un tiddler a otro puedes usar enlaces (generalmente de color azul). Pinchar cualquier enlace te llevará automáticamente al tiddler en cuestión. Si está cerrado, lo abrirá. Lo fabuloso de TiddlyWiki es que hace los enlaces a tiddlers tan accesibles como sea posible. ¡Hay enlaces por todos lados! Estos son los lugares clave donde puedes encontrar enlaces a otros tiddlers en TiddlyWiki:

        • En el cuerpo de cualquier tiddler puedes crear un link a otro tiddler, tanto si ya existe como si no. Enlaces en WikiText te muestra varias formas sencillas de crear enlaces entre tiddlers.
        • Cada pastilla que veas en un tiddler (como la que hay bajo el título de este tiddler, que dice Working with TiddlyWiki, contiene un enlace al tiddler de su correspondiente etiqueta.
        • El InfoPanel de un tiddler te muestra cuatro pestañas que contienen listas adicionales de enlaces relacionados con este.
          • La pestaña Referencias te da una lista de los enlaces que apuntan al tiddler actual
          • Etiquetado muestra una lista de enlaces de tiddlers etiquetados con el título del actual.
          • Lista muestra una lista de enlaces de tiddlers mencionados en el campo list del tiddler actual.
          • En lista de muestra una lista de enlaces de tiddlers que incluyen el actual en sus respectivos list
        • Las pestañas de la barra lateral también contienen innumerables enlaces a tiddlers:
          • Abiertos muestra una lista de tiddlers actualmente abiertos. Es decir, a la vista.
          • Recientes enumera los últimos 100 tiddlers modificados, por orden ascendente de antigüedad.
          • Más ofrece ocho listas adicionales de enlaces:
            • Todos contiene la lista alfabética de todos los tiddlers del wiki.
            • Etiquetas contiene la lista alfabética de todas las etiquetas del wiki. Pinchando en cualquiera de ellas, además, obtienes una lista alfabética de todos los tiddlers etiquetados con ella
            • Vacíos contiene la lista de enlaces vacíos, es decir, que enlazan con tiddlers que aún no existen. Función muy útil para encontrar aquellos tiddlers que uno planeó escribir cuando redacta
            • Borradores contiene la lista de tiddlers que actualmente están en borrador. TiddlyWiki considera que, mientras esté en edición, un borrador es un tiddler aparte del original, de modo que mientras se edita, existen dos tiddlers iguales e independientes, lo que por un lado conserva intacto el contenido original hasta que se pulse el botón Vale y, por otro, nos permite trabajar tranquilamente en un borrador sin mostrar tiddlers inacabados ni perder cambios
            • Huérfanos contiene la lista de aquellos tiddlers que no enlazan a ningún otro ni mediante links, ni etiquetas ni listas. Muestra qué tiddlers necesitan integrarse con el resto, algo muy útil a la hora de editar un wiki
            • Tipos contiene una lista por tipo de contenido de tiddlers con contenido especial, como imágenes, audio, código, archivo PDF ...etc
            • Sistema contiene la lista de todos los tiddlers de sistema
            • Ocultos contiene la lista de todos los tiddlers ocultos.
        • FInalmente, también puedes crear tus propias listas de enlaces, usando varios métodos:
          • Por transclusión de filtros: si escribimos {{{[tag[Contents]]}}} en un tiddler, nos mostrará la lista de tiddlers que llevan la etiqueta Contents.
          • Puedes usar ListWidget. Es algo más complejo que la transclusión de filtros, pero a cambio te da más flexibilidad a la hora de diseñar la lista para que se muestre tal y como quieres.

        Using Stamp

         1 enero 2023 a las 11:49

        Snippets are pre-configured snippets of text which can be inserted into the editor by clicking the stamp () button on the toolbar and then on the required item.

        Snippets can either replace, or be added before and/or after, the selected text in the editor.

        Create a snippet

        Whilst editing a tiddler

        1. Click stamp () on the toolbar
        2. Click "Add your own" at the bottom of the menu
        3. Type the text for the snippet in the editor
        4. Enter the caption for the snippet menu item in the caption field
        5. Click the Confirm changes to this tiddler button

        Manually

        1. Create a new tiddler by clicking the Create a new tiddler button in the sidebar
        2. Change the title for the tiddler (from e.g. New Tiddler 1). The tiddler title determines the menu item for the stamp if you do not set a caption field (see below).
          Pro tip Set a title like $:/yourusername/snippets/My new stamp to 'file' your new tiddler away as a system tiddler which doesn't appear in the normal search results
        3. Add the tag $:/tags/TextEditor/Snippet by entering $:/tags/TextEditor/Snippet in the tag name tag box and clicking Add (or pressing the Enter key)
        4. Enter the snippet content (which you wish to appear in the editor when you click the stamp menu ) in the editor
        5. Create a field with the name caption and value set to the text for the snippet's stamp menu item:
          1. Enter caption in the Add new field field name box
          2. Enter the stamp menu item caption in the field value box

        Re-ordering snippets

        Your new snippet will appear at the bottom of the stamp menu by default. To adjust the order of snippets:

        1. Navigate to a snippet tiddler
        2. Click the tag pill
        3. Drag items up and down the menu of snippets

        Adding a prefix and/or suffix to a selection New in: 5.1.20

        By default, the stamp button replaces text you have selected in the editor (let's say selectedText)with your snippet (let's say $:/my/snippet).

        If instead of replacing selected text, you wish the stamp button to add wikitext before and/or after the selection:

        1. Create a snippet tiddler (tagged $:/tags/TextEditor/Snippet, with caption field set to desired stamp menu item text) using either of the two methods above
        2. Create a new tiddler with either /prefix or /suffix appended to the end of the snippet tiddler's title, according to whether you wish the stamp to insert the snippet content before (/prefix) or after (/suffix) the text selected in the editor.
          • Do not tag the tiddler $:/tags/TextEditor/Snippet; the caption field is ignored
          • Set the tiddler text to the text you wish to be inserted before or after your selection
        Example configuration for snippet2 with prefix+suffix
        TiddlerTiddler contentTagcaption field
        $:/snip/snippet2$:/tags/TextEditor/SnippetMy second stamp menu item
        $:/snip/snippet2/prefixTextIWantPrependedToSelection
        $:/snip/snippet2/suffixTextIWantAppendedToSelection

        Uso de hojas de estilos

         28 abril 2016 a las 10:53

        El primer paso para cambiar la apariencia de TiddlyWiki es elegir y aplicar uno de los temas disponibles o modificar la paleta de colores.

        Además, pueden definirse hojas de estilos CSS mediante la etiqueta $:/Stylesheet. Intenta crear una hoja de estilos con el siguiente contenido para cambiar el actual color de fondo a rojo:

        html body.tc-body {
        	background: red;
        }

        Puentear estilos del tema

        Las hojas personales de estilos se aplican independientemente de los estilos definidos por el tema. Por ello, a menudo es necesario que las reglas CSS de tu hoja de estilos sean más específicas que las del tema que quieres puentear. Por ejemplo, html body.tc-body es más específco que body.tc-body.

        Tipo "estilos"

        Normalmente es mejor definir como el valor text/css. Así te aseguras de que TiddlyWiki entienda el contenido como hoja de estilos en texto plano y no aplique reglas de WikiText en su interpretación.

        Si necesitas usar macros y transclusiones en tu hoja de estilos, tendrás que usar el type por defecto text/vnd.tiddlywiki, permitiendo así el proceso de WikiText. Ahí va un ejemplo:

        \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html
        
        body.tc-body pre {
        	<<box-shadow "inset 0 1px 0 #fff">>
        }

        La directiva \rules al inicio restringe la aplicación de reglas WikiText a exclusivamente macros y transclusiones, lo que impide que accidentalmente se active cualquier otro proceso indeseado.

        Un tiddler de estilos se procesa de tal manera que primero se procesa como WikiText y, entonces, el resultado se aplica como CSS. Por lo tanto, se ignora todo tag HTML usado en los estilos. Así, por ejemplo, aquellos elementos HTML generados por RevealWidget no afectarán en absoluto al resultado. Por ese motivo pueden envolverse las reglas CSS en tags <pre> para mostrarlos como bloques de código, sin que afecten al proceso.

        \rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html
        
        <pre>body.tc-body pre {
        	<<box-shadow "inset 0 1px 0 #fff">>
        }
        </pre>

        Stylesheet Macros

        El núcleo de TiddlyWiki proporciona una serie de macros globales, útiles para la construcción de hojas de estilos.

        Using SVG

         18 junio 2016 a las 9:58

        TiddlyWiki5 allows you to use SVG to display vector graphics in two ways:

        • Tiddlers with the type image/svg+xml are interpreted as SVG images, and displayed and transcluded as self-contained <img> elements with the SVG embedded as a data URI in the src attribute.
        • WikiText can also include inline SVG elements directly. See below for an example.

        Embedding SVG tiddlers

        You can embed an SVG image tiddler using the ordinary transclusion syntax:

        {{Motovun Jack.jpg}}

        You can also use Typed Blocks in WikiText to embed an inline SVG tiddler.

        The implications of the image being rendered within an <img> element are that it is sandboxed; it can't use CSS styles from the parent document, for example. Neither can the image use WikiText features like transclusion.

        Embedding SVG elements

        The other way to use SVG is to embed the <svg> element directly. For example:

        Note that inline SVG elements don't need an <?xml version="1.0"?> directive.

        Including HTML or WikiText content in SVG images

        You can include simple text strings in SVG images using the <text> element:

        Hello, out there

        HTML or WikiText content can be included within inline SVG images using the <foreignObject> element. For example:

        Here is some text that requires a word wrap, and includes a link to a tiddler.

        Transcluding SVG elements

        When embedding SVG elements you can also use WikiText features like transclusion. For example, here is an SVG circle with the radius set to the value in the tiddler $:/SVGExampleRadius:

        You can edit the value of the radius here:

        Making curved text with SVG

        Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.

        Este es el código:

        \define textOnPath(text)
        $$$.svg
        <svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
        <defs>
        <path id="MyPath" d="M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
        </defs>
        <use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
        <text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
        <textPath xlink:href="#MyPath">
        $text$
        </textPath>
        </text>
        </svg>
        $$$
        \end

        Using the external JavaScript template

         19 marzo 2023 a las 13:08

        You can use a special template to externalise TiddlyWiki's core code into a separate file. This configuration allows the browser to cache the core for improved efficiency.

        Background

        TiddlyWiki in the single file configuration ordinarily packs everything into a single file: your data, and the JavaScript, CSS and HTML comprising TiddlyWiki itself. This lack of dependencies is usually very convenient: it means that it is impossible for the parts of a TiddlyWiki to become separated, and enormously improves the chances of it still functioning in the future.

        However, there is some inefficiency in this arrangement because the core code is repeatedly loaded and saved every time the content of the wiki is saved. This inefficiency is partially ameliorated when working in the client server configuration because once the wiki is loaded by the browser the synchronisation process only transmits individual tiddlers back and forth to the server.

        The remaining inefficiency when working in the client server configuration is that the single page wiki that is initially loaded will contain a copy of the entire core code of TiddlyWiki, making it impossible for the browser to cache it.

        Using the external JavaScript template with the client-server configuration

        The mechanism is activated by setting the root-tiddler parameter to $:/core/save/all-external-js. This template externalises TiddlyWiki's core JavaScript into a separate file. For example, the following command will start your server with caching enabled. It will transfer the wiki with two GET requests, and the core can be cached by the browser.

        tiddlywiki YOUR_WIKI_FOLDER --listen 'root-tiddler=$:/core/save/all-external-js' use-browser-cache=yes

        You can activate your browser's Developer Tools: Network tab and reload the page to see how it works.

        On Windows, Command Prompt (CMD) users need to replace single quotes ' with double quotation marks ".

        Initialising a new wiki

        The provided edition server-external-js contains all the configuration necessary to use the external JavaScript template. Here is an example:

        tiddlywiki ./myNewWiki --init server-external-js
        tiddlywiki ./myNewWiki --build listen

        The above commands perform the following:

        • Create a new wiki with external JavaScript customisation included.
        • Start the server with external JavaScript enabled. The server listens on port 8080. Visit http://localhost:8080 in your browser.

        To customise your --build listen command, see tiddlywiki.info Files and ListenCommand.

        Using the external JavaScript template with the single file configuration

        You can use the "external-js" template with your single file wiki, but this requires that you have TiddlyWiki's core JavaScript saved alongside your HTML file. You may prefer this configuration, for example, if you have several wikis on a WebDav server. (See: Saving via WebDAV)

        This functionality is intended for advanced users: there are many more ways for things to go wrong than with the standard single file configuration

        Saving your snapshots

        If you start your TiddlyWiki server in the "external-js" configuration, snapshots you save from the wiki will also have the external-js configuration.

        You can click on the "cloud" button and choose Save snapshot for offline use. The html wiki you saved will have a reduced file size compared to a regular snapshot because the TiddlyWiki core code has been externalised. However, to be able to use this wiki, you must also have a copy of TiddlyWiki's core JavaScript in the same directory; see below for instructions for obtaining it

        The "server-external-js" edition lets you save the snapshot from the command line:

        tiddlywiki YOUR_WIKI_FOLDER --build index

        The files external-5-x-x.html and tiddlywikicore-5.x.x.js will be saved in your wiki folder's output directory.

        Obtaining the TiddlyWiki core in the browser

        For advanced users

        Export the TiddlyWiki core JavaScript code for running with external JavaScript:

        Further information

        Obtaining the TiddlyWiki core with Node.js

        You can also run the following command to obtain the core JavaScript. The file tiddlywikicore-5.x.x.js will be saved in theoutput directory of your wiki folder:

        tiddlywiki YOUR_WIKI_FOLDER \
            --render '$:/core/templates/tiddlywiki5.js' \
            '[[tiddlywikicore-]addsuffix<version>addsuffix[.js]]' \
            'text/plain'

        The "server-external-js" edition has a shortcut for the BuildCommand to do the same thing:

        tiddlywiki YOUR_WIKI_FOLDER --build tiddlywikicore

        Upgrading your standalone wiki

        This procedure is experimental, please take care to backup your data

        Before you proceed, backup your wiki first! Follow the steps below to upgrade a single-file wiki with the external JavaScript template:

        1. Proceed with the Upgrade Process for Standalone TiddlyWikis. Your wiki will be converted to a full standalone HTML.
        2. Open your upgraded wiki in the browser. If you'd like to revert to using the regular template, restore the original shadow tiddler $:/config/SaveWikiButton/Template by deleting any custom copy. Save your wiki and you are done.
        3. Otherwise, from your wiki, select the Tools tab from the sidebar and click on the export tiddlywiki core button to obtain the core from your wiki.
        4. Verify that $:/config/SaveWikiButton/Template still contains $:/core/save/offline-external-js. Modify if necessary.
        5. Save your wiki again. Your wiki is now converted to using the external core.

        Using the integrated static file server

         3 julio 2018 a las 11:04

        Any files in the subfolder files of the wiki folder will be available via the route \files\<uri-encoded-filename>. For example: http://127.0.0.1:8080/files/Motovun%20Jack.jpg

        This can be useful for publishing large files that you don't want to incorporate into the main wiki (PDFs, videos, large images, etc.).

        Static files can be referenced directly:

        • [ext[./files/a-big-document.pdf]] - to make a link to a PDF
        • [img[./files/a-big-image.png]] - to embed an image

        Alternatively, the _canonical_uri field can be used to reference the files as external tiddlers.

        Using the read-only single tiddler view

         24 agosto 2018 a las 8:32

        TiddlyWiki's experimental single tiddler per page, read-only view uses a simplified page layout, and implements links between tiddlers, but there are no other interactive features. Compared to a full TiddlyWiki user interface, it is very lightweight and usable even over very slow connections.

        Alongside serving the full interactive wiki at the path / (e.g. http://127.0.0.1:8080/), TiddlyWiki serves each tiddler at the path /<url-encoded-tiddler-title>. For example:

        Ordinary, non-system tiddlers are rendered through a special view template while system tiddlers are rendered through a template that returns the raw text of the rendered output. In this way ordinary tiddlers can be browsed by end users while system tiddlers can be included in their raw form to use them as JS, HTML or CSS templates. Additionally these defaults can be overwritten on a per tiddler basis by specifying the _render_type and _render_template fields accordingly.

        The templates are controlled by these parameters:

        Using TiddlyWiki for GitHub project documentation

         12 septiembre 2014 a las 15:15

        TiddlyWiki5 can be used to produce documentation for GitHub projects. It lets you maintain a single set of documentation as a TiddlyWikiFolder containing separate tiddler files under source code control, and then use it to produce readme.md files for inclusion in project folders, or HTML files for storage in GitHub Pages. Both features are demonstrated by TiddlyWiki5 itself.

        Generating readme.md files

        When displaying the contents of a folder GitHub will look for a readme.md file and display it. Note that it will not display full HTML files in this way, just static MarkDown files (this is a security measure). Happily MarkDown permits a safe subset of HTML, and thus to generate a readme.md file that is suitable for GitHub it is just necessary for TiddlyWiki5 to generate the content of the <body> element of an HTML document, and give it the appropriate filename.

        This is done with this command:

        --rendertiddler ReadMe ./readme.md text/html

        It saves the tiddler ReadMe to the file ./readme.md in the text/html format.

        By default, tiddler links will be rendered as <a> links to a relative URI consisting of the title of the tiddler. This behaviour can be overridden by defining the macro tv-wikilink-template, as is done at the top of the tiddler ReadMe:

        \define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.html

        See the LinkWidget for more details.

        In this example, tiddler links are rendered as links to the static rendering of tw5.com.

        Uso de TiddlyWiki en Node.js

         6 mayo 2016 a las 6:15

        TiddlyWiki se puede usar desde la línea de comandos para ejecutar una larga lista de operaciones basadas en carpetas, tiddlers y archivos HTML de ~Tiddlywiki.

        Por ejemplo, el siguiente comando carga tiddlers de un archivo HTML de TiddlyWIki y guarda uno de ellos (ReadMe) como HTML estático (readme.html):

        tiddlywiki --verbose --load mi_wiki.html --rendertiddler ReadMe ./readme.html

        Ejecutar TiddlyWiki desde la línea de comandos pone en marcha el núcleo, carga los plugins y establece un "almacén" de tiddlers en blanco. A partir de entonces procesa los argumentos de la línea de comandos de izquierda a derecha. Los argumentos se separan con espacios.

        El primer argumento es la ruta opcional al WikiFolder que se va a cargar. Si no se especifica, se usa el directorio actual.

        Le siguen uno o varios comandos con sus respectivos argumentos. Los comandos se identifican con el prefijo --.

        tiddlywiki [<ruta>] [--<comando> [<argumento>[,<argumento>]]]

        Los comandos disponibles son:

        Uso de imágenes SVG

         3 mayo 2016 a las 6:42

        ~Tiddlywiki permite el uso de imágenes SVG de dos maneras:

        • Los tiddlers de tipo image/svg+xml se interpretan como imágenes SVG, es decir que se muestran como elementos <img> con el SVG incrustado en el atributo src.
        • También pueden incluirse elementos SVG directamente con WikiText.

        Transclusión de tiddlers SVG

        Se pueden incrustar SVG's mediante transclusión

        {{Motovun Jack.jpg}}

        Incrustación de elementos SVG

        La otra forma de usar un SVG es incrustándolo directamente.

        Al incrustar un SVG en el texto como elemento <img>, este permanece en un entorno restringido y contenido. No puede, por ejemplo, usar los estilos CSS del documento padre, por ejemplo, ni se puede hacer una transclusión aislada del SVG.

        También puede incluirse el <svg> directamente.

        Este es el código...

        <svg width="150" height="100">
          <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
        </svg>

        ...y este el resultado:

        Para hacerlo, no necesitamos la directiva <?xml version="1.0"?>.

        Inclusión de contenido HTML o WikiText en imágenes SVG

        Se pueden incluir sencillas cadenas de texto en un SVG mediante el elemento <text>

        Este es el código...

        <svg width="300px" height="30px" viewBox="0 0 1000 300"><text x="250" y="150" font-family="Verdana" font-size="200">Hello, out there</text><rect x="1" y="1" width="998" height="298" fill="none" stroke-width="2" /></svg>

        ...y este el resultado

        Hello, out there

        Se puede incluir HTML o WikiText dentro de imágenes SVG incrustadas en el texto mediante el elemento <foreignObject>. Por ejemplo:

        <svg width="260px" height="260px"><circle cx="150" cy="150" r="100" fill="blue" stoke="red"/><foreignObject x="70" y="110" width="150" height="180"><body>Esto es un poco de texto que incluye un [[enlace a otro tiddler|HelloThere]].</body></foreignObject></svg>

        Esto es un poco de texto que incluye un enlace a otro tiddler.

        Incrustación y transclusión combinadas

        Al definiri elementos SVG podemos jugar con algunos de sus parámetros mediante transclusión. Como ejemplo, veamos el caso de este círculo SVG que podemos modificar mediante transclusión del valor de su radio desde el tiddler $:/SVGExampleRadius:

        Este es el código...

        <svg width="150" height="150"><circle cx="75" cy="75" r={{$:/SVGExampleRadius}} stroke="black" stroke-width="2" fill="green"/></svg>

        ...y este el resultado:

        Podemos variar el radio del círculo (como podríamos variar cualquier otro parámetro con la misma técnica) editando el siguiente valor, alojado en otro tiddler:

        Texto curvo en SVG's

        Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.

        Este es el código:

        \define textOnPath(text)
        $$$.svg
        <svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
        <defs>
        <path id="MyPath" d="M 100 200 C 200 100 300   0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
        </defs>
        <use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
        <text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
        <textPath xlink:href="#MyPath">
        $text$
        </textPath>
        </text>
        </svg>
        $$$
        \end

        Utility by Mohammad

         17 noviembre 2020 a las 16:02

        The utility plugin objective is to provide set of tools for developers and authors.

        https://kookma.github.io/TW-Utility/

        These tools include simple transclusions, show raw contents of tiddlers, author tools, wikitext macros, show fields in view mode, etc.

        Utility Classes

         10 octubre 2022 a las 8:42

        New in: 5.2.4 The following outlines a few predefined CSS classes intended to make it simpler to style HTML block-elements and wikitext tables.

        General Utility Classes

        tc-centerCentres a block-element to the middle of the container
        tc-max-width Expands a block-element to use the maximum width of the container
        tc-max-width-80Sets the width of a block-element to use 80% of the maximum container width. This setting is useful with the tc-center class
        tc-edit-max-width Expands TextWidgets to use the maximum available width. See ControlPanel -> Info -> Basics
        tc-first-link-nowrapEnsures that any links in the first table column will never wrap to the next line

        Table Utility Classes

        tc-table-no-borderRemoves the borders of a table
        tc-first-col-min-widthThe first column of a table will take up minimal possible width. It adapts to the content

        Variable Attribute Values

         26 julio 2023 a las 16:10

        Variable attribute values are indicated with double angle brackets around a macro invocation. For example:

        <div title=<<MyMacro "Brian">>>
        ...
        </div>

        The behaviour of variables invoked via widget attributes is not the same as when they are invoked via normal wikitext. In addition, the behaviour depends on how the variable is declared:

        how declaredbehaviour
        \defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value
        $set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the attribute's value.
        \functionWhen a function is invoked as <div class=<<macro>>/>, it is a synonym for <div class={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue

        Variable Usage

         26 julio 2023 a las 15:59

        Ways to define variables and parameters

        how declared how parameters are defined accessing parameter values in the body
        \define()$param$, <<__param__>>
        $parameters or \parameters<<param>>
        $set, $let, $vars$parameters or \parameters<<param>>
        \procedure, \widget(), $parameters or \parameters<<param>>
        \function()<param>
        javascript macrosexports.params javascript property arraypassed as normal javascript function parameter and so accessed as a normal javascript variable

        Examples

        These examples are meant to provide insight into the various ways of defining and using parameters. In many cases they do not illustrate best practices.

        \define

        \define mp1(a1)  $a1$ - <<__a1__>>
        
        \define mp2() <$parameters a1><<a1>></$parameters>
        
        \define mp3()
        \parameters(a1)
        <<a1>>
        \end
        
        |<<mp1 foo>>|<<mp2 foo>>|<<mp3 foo>>|
        

        $set, $let, $vars

        <$set name="sp1" value="<$parameters a1><<a1>></$parameters>">
        <$set name="sp2" value="""
        \parameters(a1)
        <$parameters a1><<a1>></$parameters>
        """>
        <$vars vp1="<$parameters a1><<a1>></$parameters>" vp2="""
        \parameters(a1)
        <$parameters a1><<a1>></$parameters>
        """>
        <$let lp1="<$parameters a1><<a1>></$parameters>" lp2="""
        \parameters(a1)
        <$parameters a1><<a1>></$parameters>
        """>
        
        |<<sp1 foo>>|<<sp2 foo>>|
        |<<vp1 foo>>|<<vp2 foo>>|
        |<<lp1 foo>>|<<lp2 foo>>|
        </$let>
        </$vars>
        </$set>
        </$set>
        

        \procedure, \widget

        \procedure pp1(a1)  <<a1>>
        
        \procedure pp2() <$parameters a1><<a1>></$parameters>
        
        \procedure pp3()
        \parameters(a1)
        <<a1>>
        \end
        
        \procedure wp1(a1)  <<a1>>
        
        \widget wp2() <$parameters a1><<a1>></$parameters>
        
        \widget wp3()
        \parameters(a1)
        <<a1>>
        \end
        
        |<<pp1 foo>>|<<pp2 foo>>|<<pp3 foo>>|
        |<<wp1 foo>>|<<wp2 foo>>|<<wp3 foo>>|
        

        \function

        \function fp1(a1)  [<a1>]
        |<<fp1 foo>>|

        Behaviour of invoked variables depends on how the variable was declared

        Invoked in normal wikitext context: <$transclude $variable=macro/> or <<macro>>

        how declaredbehaviour
        \defineAll wikitext and variable substitution and textual substitution takes place
        $set, $let, $vars, \procedure, \widgetAll wikitext and variable substitution takes place
        \functionInvoking a function in this way (<<macro>>) is a synonym for <$text text={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded

        Invoked via widget attribute: <div class=<<macro>>/>

        how declaredbehaviour
        \defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value
        $set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the attribute's value.
        \functionWhen a function is invoked as <div class=<<macro>>/>, it is a synonym for <div class={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue

        Invoked via filter operator parameter: [<macro>]

        how declaredbehaviour
        \defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.
        $set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the filter operator's parameter.
        \functionThe body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded.

        Invoked via function call in a filter expression: [function[macro]]

        how declaredbehaviour
        \define, $set, $let, $vars, \procedure, \widgetEvery function is a variable, but only variables defined using \function are invokable using the function filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.
        \functionThe body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.

        Examples

        Below is an example macro, procedure and function definition. All three forms of parameter substitution $a1$, <<__a1__>>, and <<a1>> are included in each definition. The output helps illustrate when each form of substitution will or will not have affect.

        \define m1(a1) $a1$ - <<__a1__>> - <<a1>>
        \procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
        \function f1(a1) $a1$ "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
        Variable transclusionoutput
        <<m1 foo>>foo - foo -
        <<p1 foo>>$a1$ - - foo
        <<f1 foo>>$a1$ - - foo
        Widget attributeoutput
        <$text text=<<m1 foo>>/>foo - <<__a1__>> - <<a1>>
        <$text text=<<p1 foo>>/>$a1$ - <<__a1__>> - <<a1>>
        <$text text=<<f1 foo>>/>$a1$ - - foo
        Filter operator parameteroutput
        [<m1 foo>]foo - <<__a1__>> - <<a1>>
        [<p1 foo>]$a1$ - <<__a1__>> - <<a1>>
        [<f1 foo>]$a1$ - - foo
        Function call in filter expressionoutput
        [function[m1],[foo]]"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
        [function[p1],[foo]]"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld
        [function[f1],[foo]]$a1$ - - foo

        Namespaces

        • tiddler titles - tiddlers are uniquely identified by their title. The namespace for tiddler titles and variable names are completely separate.
        • variables - \define, $set, $let, $vars, \procedure, \widget, \function all create variables. If the same name is used, then later define will overwrite earlier defined
        • function filter operator parameter - only variables defined using \function can be called using the function operator
        • filter operators - only the javascript defined filter operators and variables defined using \function with name containing a dot can be called
        • widgets - variables defined using \widget can be invoked using <$widget/> syntax ONLY if the name starts a dollar sign. Without the dollar sign prefix, defining variables using \widget is no different than using \procedure.

        Variables

         22 abril 2023 a las 16:04

        Introduction

        A variable is a snippet of text that can be accessed by name. The text is referred to as the variable's value.

        Variables are defined by widgets. Several core widgets define variables, the most common being the $set, $let and $list widgets.

        The values of variables are available to descendant widgets, including transcluded content. For example, within each tiddler in the main story river the variable "currentTiddler" is set to the title of the tiddler.

        Variables can also be overwritten by descendent widgets defining variables of the same name, thus binding a different snippet to that name for the scope of the children of the widget.

        Special Kinds of Variables

        There are several special kinds of variable that extend their basic capabilities:

        • Procedures are snippets of text that can be passed parameters when wikified
        • Functions are snippets of text containing filters with optional named parameters
        • Custom Widgets are snippets of text containing definitions of custom widget
        • Macros are snippets of text that can contain placeholders that are filled in with parameters whenever the macro is used

        Note that these special kinds of variable can only be created with the associated shortcut definition syntax.

        For a more detailed comparison of these special kinds of variables, see Variable Usage.

        Defining Variables

        The following core widgets are commonly used to define variables:

        • $let widget – the easiest way to define multiple variables
        • $set widget – the most flexible way to define a single variable
        • $parameters widget – used to declare parameter variables within procedures and custom widgets
        • $list widget – defines a loop variable and optional counter variable
        • $setmultiplevariables widget – allows creation of multiple variables at once where the names and values are not known in advance

        Using Variables

        Once a variable is defined there are several ways to access it.

        Transcluding Variables

        Transcluding a variable renders the text contents of the variable as if it replaced the call. It is a shortcut syntax for the $transclude widget with the $variable attribute.

        <<varname>>

        Parameters can be passed to the transclusion as follows:

        <<varname "This is a parameter">>
        <<varname param:"This is a parameter">>
        <<varname param:"This is a parameter" second:"Another parameter">>

        The handling of these parameters depends on the kind of variable:

        • Procedures assign the parameters to variables that are available within the procedure
        • Macros replace the text of the special markers $param$ with the values passed to the macro for those parameters (see Macro Parameter Handling for the details)

        The parameters are ignored for other kinds of variable.

        Macro Variable Substitutions

        Before the text of a macro is used, the special markers $(variable)$ are replaced with the values of the named variable.

        Variable Attributes

        Variables can be used as the value of attributes of widgets or HTML elements:

        <div class=<<varname>>>

        Parameters can be passed:

        <div class=<<varname "This is a parameter">>>
        ...
        <div class=<<varname param:"This is a parameter">>>
        ...
        <div class=<<varname param:"This is a parameter" second:"Another parameter">>>
        ...

        The handling of these parameters depends on the kind of variable:

        • Functions assign the parameters to variables that are available within the function
        • Macros replace the text of the special markers $param$ with the values passed to the macro for those parameters (see Macro Parameter Handling for the details)

        The parameters are ignored for other kinds of variable.

        Variables in Filters

        Variables can be accessed within Filters using angle brackets to quote the name:

        [<varname>]

        Parameters can be passed in the usual way:

        [<varname "This is a parameter">]
        [<varname param:"This is a parameter">]
        [<varname param:"This is a parameter" second:"Another parameter">]
        ...

        See Also

        • The dumpvariables macro lists all variables that are available at that position in the widget tree
        • Complete listing of TiddlyWiki's built-in Core Variables

        Examples

        Example of Defining a Variable

        <$set name=animal value=zebra>
        <<animal>>
        </$set>

        Example of Defining a Macro

        The \define pragma below defines a macro called tags-of-current-tiddler. The macro returns the value of the tiddler's tags field, and can be accessed from anywhere else in the same tiddler (or in any tiddler that imports it).

        \define tags-of-current-tiddler() {{!!tags}}
        
        The tags are: <<tags-of-current-tiddler>>

        Example of Using a Variable as a Filter Parameter

        This example uses the backlinks operator to list all tiddlers that link to this one.

        <<list-links filter:"[<currentTiddler>backlinks[]]">>

        Variables in WikiText

         21 febrero 2015 a las 22:18

        variables Operator

         30 marzo 2019 a las 10:01
        purposeselect the names of all the actively defined variables
        inputignored
        parameternone
        outputthe names of all the actively defined variables

        Learn more about how to use Filters

        New in: 5.1.20 The primary purpose of the variables operator is to implement the dumpvariables Macro:

        \define dumpvariables()
        \whitespace trim
        <ul>
        <$list filter="[variables[]]" variable="varname">
        <li>
        <strong><code><$text text=<<varname>>/></code></strong>:<br/>
        <$codeblock code={{{ [<varname>getvariable[]] }}}/>
        </li>
        </$list>
        </ul>
        \end
        

        Examples

        variables Operator (Examples)

         30 marzo 2019 a las 10:01

        [variables[]prefix[colour]]
        → returns the names of any variables whose names start with colour

        variance Operator

         26 abril 2021 a las 14:15
        purposetreating each input title as a number, compute their variance
        inputa selection of titles
        outputthe variance of the input as numbers

        Learn more about how to use Filters

        New in: 5.2.0 See Mathematics Operators for an overview.

        The standard-deviation operator treats the input as a complete population and not a sample

        Examples

        variance Operator (Examples)

         26 abril 2021 a las 14:15

        1 3 4 5 +[variance[]]

        Note that if there is no input the operator returns NaN

        [title[NotATiddler]is[tiddler]get[price]] +[variance[]]

        VarsWidget

         26 abril 2015 a las 12:59

        Introduction

        The $vars widget allows multiple variables to be set in one operation. In some situations it can result in simpler code than using the more flexible $set widget. It differs from the $let in that variables cannot interfere with the evaluation of other variables within the same $vars.

        Content and Attributes

        The content of the $vars widget is the scope for the value assigned to the variable.

        AttributeDescription
        {attributes not starting with $}Each attribute name specifies a variable name. The attribute value is assigned to the variable

        Attributes will not interfere with the evaluation of other attributes. So if one attribute sets currentTiddler, and another attribute uses currentTiddler in its evaluation, it will use the value of currentTiddler that exists outside the widget's scope.

        Examples

        Consider a case where you need to set multiple variables.

        Using the $vars widget, this situation may be handled in the following way:

        \define helloworld() Hello world!
        
        <$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
          <<greeting>>! I am <<me>> and I say: <<sentence>>
        </$vars>

        In contrast, here is the same example using the $set widget:

        <$set name="greeting" value="Hi" >
        <$set name="me" value={{!!title}} >
        <$set name="sentence" value=<<helloworld>> >
          <<greeting>>! I am <<me>> and I say: <<sentence>>
        </$set>
        </$set>
        </$set>

        Remarks

        It should be noted that this widget differs from the $set widget in the following ways:

        • A fallback (also known as "emptyValue") cannot be specified
        • Filters cannot be used to produce a conditional variable assignment
        • Variable names must be literal strings

        VerboseCommand

         

        Genera texto aleatorio, útil para depurar errores

        --verbose

        version Macro

         21 febrero 2015 a las 21:41

        The version macro returns the current version number of TiddlyWiki.

        Parameters

        (none)

        Examples

        version Macro (Examples)

         21 febrero 2015 a las 21:41

        Version number: <<version>>

        VersionCommand

         

        Muestra el número de versión de TiddlyWiki

        --version

        Videos

         17 abril 2016 a las 16:39

        Están disponibles los siguientes videos sobre TiddlyWiki:

        La finalidad es mantener una serie de videos que sirvan de guía para la puesta en marcha de TiddlyWiki. Toda contribución es bienvenida.

        View Template Body Cascade

         6 diciembre 2021 a las 16:16

        The view template body cascade is a cascade used by the default view template to choose the template for displaying the tiddler body.

        The default view template body cascade consists of:

        1. If the tiddler title starts with any of a list of known system tiddler prefixes, use the template $:/core/ui/ViewTemplate/body/code to display the body as preformatted code
        2. If the tiddler has the field plugin-type set to import then use the template $:/core/ui/ViewTemplate/body/import which displays the custom import user interface
        3. If the tiddler has the field plugin-type then use the template $:/core/ui/ViewTemplate/body/plugin to display the plugin information badge
        4. If the tiddler has the field hide-body set to yes then use the template $:/core/ui/ViewTemplate/body/blank to hide the body
        5. Otherwise, use the default template $:/core/ui/ViewTemplate/body/default

        You can see the current settings for the view template body cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> View Template Body tab.

          View Template Title Cascade

           6 diciembre 2021 a las 16:11

          The view template title cascade is a cascade used by the default view template to choose the template for displaying the tiddler title.

          The core view template title cascade can be found in $:/core/ui/ViewTemplate/title

          The default view template title cascade consists of:

          1. If the tiddler title starts with $:/ then use the template $:/core/ui/ViewTemplate/title/system which causes the $:/ prefix to be displayed in pale text
          2. Otherwise, use the template $:/core/ui/ViewTemplate/title/default which displays the title in plain text

          You can see the current settings for the view template title cascade in $:/ControlPanel under the Info -> Advanced -> Cascades -> View Template Title tab.

            ViewWidget

             19 diciembre 2021 a las 21:34

            Introduction

            The view widget displays the contents of a tiddler field in a specified format.

            Content and Attributes

            The content of the <$view> widget is displayed if the field or property is missing or empty.

            AttributeDescription
            tiddlerThe title of the tiddler (defaults to the current tiddler)
            fieldThe name of the field to view (defaults to "text")
            indexThe name of the index to view
            formatThe format for displaying the field (see below)
            templateOptional template string used when the format attribute is set to "date"
            subtiddlerOptional SubTiddler title when the target tiddler is a plugin (see below)
            mode New in: 5.1.15 Optional transclusion parsing mode for wikified formats. May be "inline" or "block" (the default)

            Formats

            The following formats can be specified in the format attribute:

            FormatDescription
            textPlain text (default)
            See also the TextWidget. <$view format=text tiddler=MyTiddler/> renders the same as <$text text={{MyTiddler}}/>
            htmlencodedThe field is displayed with HTML encoding.
            Rendered value is the same as the output from the encodehtml filter operator
            htmltextencoded New in: 5.2.0 The field is displayed with HTML encoding, only double quotes (") are not escaped. This creates a more compact htmlencoding appropriate for html text content, but not for attributes.
            urlencodedThe field is displayed with URL encoding
            Rendered value is the same as the output from the encodeuri filter operator
            doubleurlencodedThe field is displayed with double URL encoding
            Rendered value is the same as the output from calling the encodeuri filter operator twice
            htmlwikifiedThe field is wikified according to the mode attribute and the resulting HTML returned as plain text (ie HTML elements will appear in plain text)
            plainwikifiedThe field is wikified according to the mode attribute and the text content of the resulting HTML returned as plain text (ie HTML elements will be removed)
            htmlencodedplainwikifiedThe field is wikified according to the mode attribute and the text content of the resulting HTML returned as HTML encoded plain text (ie HTML elements will be removed)
            dateThe field is interpreted as a UTC date and displayed according to the DateFormat specified in the template attribute
            Rendered value is the same as the output from the format:date filter operator
            relativedateThe field is interpreted as a UTC date and displayed as the interval from the present instant
            Rendered value is the same as the output from the format:relativedate filter operator
            stripcommentsThe field is interpreted as JavaScript source code and any lines beginning \\# are stripped
            jsencodedThe field is displayed as a JavaScript encoded string
            Rendered value is the same as the output from the stringify filter operator

            "WikiText format"

            To display the field content as regular WikiText, for example with working links, use the TranscludeWidget instead.

            SubTiddler Access

            The view widget allows access to the individual tiddlers stored within a plugin.

            The following example will view the core version of the tiddler $:/DefaultTiddlers even if it has been overridden:

            
            <$view tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>
            
            

            Este es su aspecto:

            GettingStarted

            Examples

            Given this Saturday example tiddler:

            tiddlerraw contentrendered content
            Saturday<<.this-is-operator-example>> This example tiddler is used to illustrate some of the Filter Operators.

            Here is how <$view tiddler=Saturday format=<<format>>/> renders for each format:

            formatrenders as
            text <<.this-is-operator-example>>
            htmlencoded &lt;&lt;.this-is-operator-example&gt;&gt;
            htmltextencoded &lt;&lt;.this-is-operator-example&gt;&gt;
            urlencoded %3C%3C.this-is-operator-example%3E%3E%0A
            doubleurlencoded %253C%253C.this-is-operator-example%253E%253E%250A
            htmlwikified <p>This example tiddler is used to illustrate some of the <a class="tc-tiddlylink tc-tiddlylink-resolves" href="#Filter%20Operators">Filter Operators</a>.</p>
            plainwikified This example tiddler is used to illustrate some of the Filter Operators.
            htmlencodedplainwikified This example tiddler is used to illustrate some of the Filter Operators.
            stripcomments <<.this-is-operator-example>>
            jsencoded <<.this-is-operator-example>>\n

            vis.js Timeline by emkay, revived by kixam

             6 enero 2021 a las 15:10

            An interactive timeline visualisation plugin based on Vis.js. A demo can be found here: http://kixam.github.io/TW5-visjsTimeline/.

            vis.js Timeline is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable timelines. This project is a direct continuation of emkay's plugin.

            Visible Transclusions

             19 abril 2023 a las 11:31

            Visible Transclusions

            Block transclusions are shown in red, and inline transclusions are shown in green.

            Web Developer Tools

             20 noviembre 2020 a las 15:46

            Most browsers provide Web Developer Tools that include a JavaScript console. In Chrome and Firefox it can be opened via the Tools menu, or by pressing Ctrl + Shift + J (Cmd + Shift + J on a Mac).

            WebServer

             16 diciembre 2018 a las 18:19

            When running under Node.js, TiddlyWiki includes a simple HTTP/HTTPS web server that allows you to use it from any browser running on the same machine or over a network.

            The web server includes a very simple mechanism allowing multiple users to log in with different credentials. The implementation is designed to be simple and easy to use, and would not generally be considered robust enough for use on the open internet. It is intended for use by individuals or small groups on a trusted network. It is recommended to use an external proxy before exposing it on the Internet.

            How It Works

            The web server listens for requests coming over the network, and performs the following actions in turn:

            • Authentication is the process of identifying the current user. TiddlyWiki supports three types of authentication: Anonymous, Basic and Header
            • Authorization is the process of determining which resources may be accessed by a particular user. TiddlyWiki implements a simple scheme whereby read and write access to the wiki can be independently controlled.
            • Routing is the process of dispatching the request to the API handler, and returning any required data.

            Usage

            Anonymous Access

            The web server is started with the ListenCommand (which supersedes the older ServerCommand). All the NamedCommandParameters are optional, so the simplest form is:

            tiddlywiki mywikifolder --listen

            Visit http://127.0.0.1:8080/ to access the wiki. Access is anonymous, so anyone can read or write to the wiki.

            This will typically be available only to users on the local machine. For information on how to open the instance to the local network see the Web Server host parameter entry.

            Authenticated Access

            Adding username and password parameters enforces basic authentication for both reading and writing:

            tiddlywiki mywikifolder --listen username=test password=tset

            Visiting the wiki will prompt for a username and password, and access is denied if they do not match the provided credentials.

            Anonymous Read, Authenticated Write

            This example adds the authorization parameters readers and writers to grant read access to anonymous users, but require authentication as "joe" in order to gain write access.

            Note that anonymous users can trigger a username/password prompt by visiting the route \login-basic (eg http://127.0.0.1:8080/login-basic).
            tiddlywiki mywikifolder --listen "readers=(anon)" writers=joe username=joe password=bloggs

            Note the double quotes that are required for parameters containing special characters.

            Arguments

            The full list of available optional parameters is:

            Guides

            Further information on usage of the integrated WebServer:

            WebServer Anonymous Access

             1 julio 2018 a las 21:23

            Anonymous access is only permitted if the special (anon) token is present in the readers (for reading) and optionally writers (for writing) authorisation parameters.

            WebServer API

             2 octubre 2018 a las 14:18

            WebServer API: Delete Tiddler

             18 abril 2021 a las 11:07

            Delete a tiddler

            DELETE /bags/default/tiddlers/{title}

            Parameters:

            • title - URI encoded title of the tiddler to delete

            Headers:

            Response:

            • 204 No Content

            WebServer API: Force Basic Authentication Login

             16 diciembre 2018 a las 18:19

            Forces the server to request basic authentication login, and then redirects to the root

            GET /login-basic

            Requests an basic authentication from the browser, and redirects to the root if successful.

            Parameters:

            • none

            Response:

            • 302 Found
              Location: /
            • 401 Unauthorized
              WWW-Authenticate: Basic realm="Please provide your username and password to login to <servername>"

            WebServer API: Get All Tiddlers

             9 septiembre 2022 a las 10:43

            Gets an array of all raw non-system tiddlers, excluding the text field.

            GET /recipes/default/tiddlers.json

            Parameters:

            • filter - filter identifying tiddlers to be returned (optional, defaults to "[all[tiddlers]!is[system]sort[title]]")
            • exclude - comma delimited list of fields to excluded from the returned tiddlers (optional, defaults to "text")

            In order to avoid denial of service attacks with malformed filters in the default configuration the only filter that is accepted is the default filter "[all[tiddlers]!is[system]sort[title]]"; attempts to use any other filter will result in an HTTP 403 error.

            Note
            System tiddlers will not be returned by this API unless the Hidden Setting: Sync System Tiddlers From Server is explicitly switched on by setting $:/config/SyncSystemTiddlersFromServer to yes

            To enable a particular filter, create a tiddler with the title "$:/config/Server/ExternalFilters/" concatenated with the filter text, and the text field set to "yes". For example, the TiddlyWeb plugin includes the following shadow tiddler to enable the filter that it requires:

            title: $:/config/Server/ExternalFilters/[all[tiddlers]] -[[$:/isEncrypted]] -[prefix[$:/temp/]] -[prefix[$:/status/]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] -[[$:/library/sjcl.js]] -[[$:/core]]
            text: yes

            It is also possible to configure the server to accept any filter by creating a tiddler titled $:/config/Server/AllowAllExternalFilters with the text "yes". This should not be done for public facing servers.

            Response:

            WebServer API: Get Favicon

             2 octubre 2018 a las 13:41

            Get the favicon for the wiki from the tiddler $:/favicon.ico

            GET /favicon.ico

            Parameters:

            • none

            Response:

            • 200 OK
              Content-Type: image/x-icon
              Body: image data from the tiddler $:/favicon.ico

            WebServer API: Get File

             2 octubre 2018 a las 13:43

            Get the content of a static file. See using the integrated static file server

            GET /files/<pathname>

            Parameters:

            • pathname - URI encoded path to the file

            Response:

            • 200 OK
              Content-Type: <content-type> (determined from file extension)
              Body: data retrieved from file
            • 403 Forbidden
            • 404 Not Found

            WebServer API: Get Rendered Tiddler

             2 octubre 2018 a las 14:54

            Gets a rendering of the specified tiddler. See using the read-only single tiddler view for more details.

            GET /{title}

            Parameters:

            • title - URI encoded title of the tiddler to render

            Response:

            • 200 OK
              Content-Type: <content-type>
              Body: tiddler rendering
            • 404 Not Found

            WebServer API: Get Server Status

             2 octubre 2018 a las 13:58

            Get server status information

            GET /status

            Parameters:

            • none

            Response:

            • 200 OK
              Content-Type: application/json
              Body: see below

            The JSON data returned comprises the following properties:

            • username - the username of the currently authenticated user. If undefined, the WebServer Parameter: anon-username is returned instead
            • anonymous - true if the current user is anonymous
            • read_only - true if the current user is restricted to read only access to the server
            • logout_is_available - true if the server supports logging out (optional, defaults to true)
            • space - always contains the object {recipe: "default"}
            • tiddlywiki_version - the current TiddlyWiki version

            For example:

            {
              "username": "",
              "anonymous": true,
              "read_only": false,
              "space": {
                "recipe": "default"
              },
              "tiddlywiki_version": "5.1.18"
            }

            WebServer API: Get Tiddler

             2 octubre 2018 a las 14:04

            Gets the raw fields of a tiddler

            GET /recipes/default/tiddlers/{title}

            Parameters:

            • title - URI encoded title of the tiddler to retrieve

            Response:

            WebServer API: Get Wiki

             2 octubre 2018 a las 13:47

            Get the main wiki

            GET /

            The wiki is composed by rendering the tiddler identified in the root-tiddler parameter with the render type in the root-render-type parameter. This is then served with the content type from the root-serve-type parameter.

            Parameters:

            • none

            Response:

            • 200 OK
              Content-Type: text/html
              Body: data retrieved from file

            WebServer API: Put Tiddler

             18 abril 2021 a las 11:07

            Saves the raw fields of a tiddler

            PUT /recipes/default/tiddlers/{title}

            The body should be in TiddlyWeb JSON tiddler format.

            Parameters:

            • title - URI encoded title of the tiddler to save

            Headers:

            Response:

            • 204 No Content
              Content-Type: text/plain
              Etag: "default/<title>/<changecount>:"

            WebServer Authentication

             1 julio 2018 a las 19:45

            Authentication is the process of identifying the current user. TiddlyWiki supports three types of authentication:

            • Anonymous Access allows any user to access resources without requiring authentication. Optionally, a username can still be specified for signing edits
            • Basic Authentication requires the user to enter a username and password combination which TiddlyWiki validates against an internal database of credentials
            • Header Authentication requires an external proxy to place the username of the current user in a trusted header of the request. It is often used as the basis of "single sign-on" features

            WebServer Authorization

             22 noviembre 2021 a las :41

            Authorization is the process of determining which resources may be accessed by a particular user. It occurs after authentication has determined the identity of the user. TiddlyWiki's WebServer implements a simple authorization scheme which permits independent control of who has administrator access to the server, and read and write access to a wiki.

            The WebServer parameters admin, readers and writers each contain a comma separated list of principals (which is to say, either usernames or certain special tokens) which should have read or write access respectively.

            The available special tokens are:

            • (anon) - indicates all anonymous users
            • (authenticated) - indicates all authenticated users

            Admin Functions

            The (anon) token is not valid for the admin parameter.

            At this time, no server functions are restricted to admin authorized users in the unmodified Tiddlywiki server. Third party plugins can leverage this to restrict routes or commands to a subset of authorized users.

            Read-only Mode

            Read-only mode is engaged when the current user is not authorized to write to the current wiki.

            User interface features concerned with creating or editing content are disabled in read-only mode:

            • clone, delete, new-here and new-journal-here tiddler toolbar buttons
            • import, manager, new-tiddler new-image and new-journal page control buttons

            The tiddler $:/status/IsReadOnly is set to yes when read-only mode is engaged.

            Examples

            These example use the credentials parameter to specify the location of a file containing usernames and passwords.

            In the first example, read access is permitted for the users "joe" and "mary", with write access restricted to "mary":

            tiddlywiki mywikifolder --listen credentials=myusers.csv readers=joe,mary writers=mary

            In the following example, read access is granted to all authenticated users, but only "mary" is granted write access:

            tiddlywiki mywikifolder --listen credentials=myusers.csv "readers=(authenticated)" writers=mary

            In the following example, read and write access is granted to all authenticated users, but only "mary" is granted admin access:

            tiddlywiki mywikifolder --listen credentials=myusers.csv "readers=(authenticated)" "writers=(authenticated)" admin=mary

            WebServer Basic Authentication

             16 diciembre 2018 a las 18:19

            Basic authentication is a standard mechanism for servers to instruct browsers to prompt the user for credentials. It is recommended to use it in association with HTTPS due to the way that it passes unencrypted passwords over the network.

            Basic authentication is activated if credentials are specified via the username/password or credentials parameters.

            If WebServer Authorization is configured to allow access by both anonymous and authenticated users then by default users will not be prompted for credentials, and will be given anonymous access. To force a password prompt visit the route /login-basic (for example, http://127.0.0.1:8080/login-basic).

            WebServer Guides

             3 julio 2018 a las 10:47

            WebServer Header Authentication

             2 julio 2018 a las 15:02

            Header authentication is a web integration technique enabling external entities to securely pass details of the authenticated user to an application.

            Header authentication is activated if is configured via the authenticated-user-header

            Usage in SSO

            Header authentication is commonly used for "single sign on" in corporate environments. When doing header authentication, the user is not prompted for a username and password on TiddlyWiki. Instead, the user is required to login at a SSO proxy server. When the user authenticates themselves to the SSO proxy server, the proxy server redirects the user request to the TiddlyWiki server with this additional request header containing the username. Then TiddlyWiki server is able to use the value of this request header to identify the user.

            WebServer Parameter: admin

             11 noviembre 2021 a las 2:31

            New in: 5.2.2 The web server configuration parameter admin is used to specify the security principals with administrator access to the WebServer. Does not accept the (anon) special token. See WebServer Authorization for more details.

            WebServer Parameter: anon-username

             2 julio 2018 a las 13:48

            The web server configuration parameter anon-username provides an optional username for signing edits from anonymous users.

            Without this parameter, anonymous users will be given a blank username.

            WebServer Parameter: authenticated-user-header

             22 mayo 2023 a las 19:44

            The web server configuration parameter authenticated-user-header activates header authentication by specifying the name of the HTTP header field that will be used to pass the username to TiddlyWiki.

            For example, if the authenticated-user-header is set to X-Authenticated-User, then the HTTP request must include a header field X-Authenticated-User with a value that is the username:

            X-Authenticated-User: JeremyRuston

            New in: 5.3.0 Value of this header field should be URI-encoded before transit on the client (using encodeURIComponent JS function or encodeuricomponent Operator), and will be URI-decoded by the server.

            WebServer Parameter: credentials

             2 julio 2018 a las 16:44

            The web server configuration parameter credentials contains the pathname of a CSV file containing a list of username/password combinations. Using the credentials parameter activates WebServer Basic Authentication.

            The CSV file must contain a header row and columns labelled username and password. For example:

            username,password
            jane,do3
            andy,sm1th
            roger,m00re

            Notes:

            • The optional username/password parameters may be used to provide an additional single set of credentials
            • The pathname is taken relative to the wiki folder
            • Passwords cannot contain the comma character ,
            • The header row must be present

            WebServer Parameter: csrf-disable

             19 abril 2019 a las 18:13

            The web server configuration parameter csrf-disable causes the usual cross-site request forgery checks to be disabled. This might be necessary in unusual or experimental configurations.

            Setting csrf-disable to yes disables the CSRF checks; no (or any other value) enables them.

            The only currently implemented check is the use of a custom header called x-requested-with that must contain the string TiddlyWiki in order for write requests to succeed.

            WebServer Parameter: debug-level

             2 julio 2018 a las 15:21

            The web server configuration parameter debug-level determines the level of debugging information printed to the console:

            • full - maximum logging
            • none - no logging

            WebServer Parameter: host

             7 noviembre 2018 a las 18:31

            The web server configuration parameter host is the IP address on which the server listens. The most common settings are:

            • 127.0.0.1 (default) - only listens for connections from browsers on the same computer
            • 0.0.0.0 - listens for connections on all network interfaces, and thus from any browser on a reachable network
            • n.n.n.n - listens for connections on the network interface with the specified IP address

            Note: Using 0.0.0.0 or n.n.n.n in a public environment (e.g. coffee shop, library, airport) is inadvisable as it will expose your system to possible intrusion.

            WebServer Parameter: password

             30 junio 2018 a las 18:11

            The web server configuration parameter password, is used with its companion username as a shortcut for setting user credentials for WebServer Basic Authentication.

            WebServer Parameter: path-prefix

             27 octubre 2020 a las 12:29

            The web server configuration parameter path-prefix can be used to set an optional prefix for all paths served.

            This example causes the server to serve from http://127.0.0.1/MyApp instead of the default http://127.0.0.1/.

            tiddlywiki mywikifolder --listen "path-prefix=/MyApp"

            Notes:

            • Further steps are required to configure the client-side components to use the prefix. See Using a custom path prefix with the client-server edition
            • If no path prefix is required then the path-prefix parameter should be omitted or set to the empty string, and not to \ as might be expected

            WebServer Parameter: port

             19 diciembre 2019 a las 12:37

            The web server configuration parameter port specifies the TCP port on which the server will listen for connections. The default value is 8080.

            The port parameter accepts two types of value:

            • Numerical values are interpreted as a decimal port number
              • The special value 0 (zero) causes the operating system to assign an available port
            • Non-numeric values are interpreted as an environment variable from which the port should be read

            This example configures the server to listen on port 8090:

            tiddlywiki mywikifolder --listen port=8090

            This example configures the server to listen on the port specified in the environment variable THE_PORT:

            tiddlywiki mywikifolder --listen port=THE_PORT

            WebServer Parameter: readers

             2 julio 2018 a las 16:51

            The web server configuration parameter readers is used to specify the security principals with read access to the wiki. See WebServer Authorization for more details.

            WebServer Parameter: required-plugins

             26 diciembre 2021 a las 16:07

            New in: 5.2.2 The web server configuration parameter required-plugins is used to specify the plugins required to start the WebServer. It take a comma seperated list of plugin titles. The WebServer will issue a warnign in the console if the required plugins are not loaded. This parameter defaults to $:/plugins/tiddlywiki/filesystem,$:/plugins/tiddlywiki/tiddlyweb.

            WebServer Parameter: root-render-type

             2 julio 2018 a las 17:04

            The web server configuration parameter root-render-type determines the way that the root wiki tiddler is rendered:

            • text/plain (default) – the plain text content of the output is rendered (i.e. HTML elements are ignored)
            • text/html – the full HTML content of the output is rendered (i.e. including HTML elements)

            WebServer Parameter: root-serve-type

             2 julio 2018 a las 17:05

            The web server configuration parameter root-serve-type determines the content type with which the root wiki tiddler is rendered. The default is text/html.

            WebServer Parameter: root-tiddler

             2 julio 2018 a las 17:06

            The web server configuration parameter root-tiddler determines the title of the tiddler that is rendered as the root wiki. The default setting is $:/core/save/all.

            WebServer Parameter: system-tiddler-render-template

             10 agosto 2018 a las 6:31

            The web server configuration parameter system-tiddler-render-template is used to specify the template for serving system tiddlers in the read-only single tiddler view. The default value is $:/core/templates/wikified-tiddler which renders the tiddler raw, without any special viewing template.

            This setting may be overwritten by specifying the _render_template field of a tiddler.

            WebServer Parameter: system-tiddler-render-type

             10 agosto 2018 a las 6:31

            The web server configuration parameter system-tiddler-render-type is used to specify the render type for serving system tiddlers in the read-only single tiddler view. The default value is text/plain, causing the raw text of rendered system tiddlers to be returned. Alternatively, text/html can be used to cause the full HTML of the rendered tiddlers to be returned.

            This setting may be overwritten by specifying the _render_type field of a tiddler.

            WebServer Parameter: tiddler-render-template

             10 agosto 2018 a las 6:32

            The web server configuration parameter tiddler-render-template is used to specify the template for serving ordinary, non-system tiddlers in the read-only single tiddler view. The default value is $:/core/templates/server/static.tiddler.html which renders tiddlers in a lightweight page with a simple sidebar.

            This setting may be overwritten by specifying the _render_template field of a tiddler.

            WebServer Parameter: tiddler-render-type

             10 agosto 2018 a las 6:31

            The web server configuration parameter tiddler-render-type is used to specify the render type for serving ordinary, non-system tiddlers in the read-only single tiddler view. The default value is text/html, causing the full HTML of the rendered output to be returned. Alternatively, text/plain can be used to cause the raw text of rendered system tiddlers to be returned.

            This setting may be overwritten by specifying the _render_type field of a tiddler.

            WebServer Parameter: tls-cert

             3 julio 2018 a las 11:06

            The optional web server configuration parameter tls-cert contains the pathname to the certificate file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.

            See Using HTTPS for details.

            WebServer Parameter: tls-key

             3 julio 2018 a las 11:06

            The optional web server configuration parameter tls-key contains the pathname to the key file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.

            See Using HTTPS for details.

            WebServer Parameter: tls-passphrase

             11 noviembre 2021 a las 2:21

            New in: 5.2.2 The optional web server configuration parameter tls-passphrase contains the "certificate passphrase", a string used to decrypt the certificate file used when running the web server under HTTPS.

            See Using HTTPS for details.

            WebServer Parameter: username

             2 julio 2018 a las 13:46

            The web server configuration parameter username, in conjunction with its companion password:

            • Enables Basic Authentication with the specified username/password combination being added to any credentials specified with the credentials parameter
            • The specified username is used as a default value for the readers and writers authorisation parameters if they are not specified

            Examples

            Serve anonymous users, setting the username to "joe":

            tiddlywik mywikifolder --listen anon-username=joe

            Restrict access to the user "joe" with a password of "secret":

            tiddlywik mywikifolder --listen username=joe password=secret

            WebServer Parameter: writers

             2 julio 2018 a las 16:51

            The web server configuration parameter writers is used to specify the security principals with write access to the wiki. See WebServer Authorization for more details.

            WebServer Parameters

             30 junio 2018 a las 18:09

            Wednesday

             16 noviembre 2021 a las 22:11

            This example tiddler is used to illustrate some of the Filter Operators.

            ¿Qué pasó con el TiddlyWiki original?

             5 junio 2016 a las 6:24

            La versión original de TiddlyWiki, que llamamos Classic, sigue disponible en:

            https://classic.tiddlywiki.com.

            Ten en cuenta que la versión actual de TiddlyWiki no es totalmente compatible con la versión Classic. Se pueden importar contenidos, pero necesitan algo de masaje para adaptarse al nuevo formato de escritura, WikiText.

            Actualmente está en desarrollo un plugin: tw2parser, intérprete que permita reproducir fielmente y sin mayor complicación los contenidos creados por TiddlyWikiClassic.

            https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/

            Widdly by Opennota

             6 enero 2021 a las 15:10

            A cross platform server application that can save tiddlers to a local database

            https://gitlab.com/opennota/widdly

            a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.

            Widget Attributes

             31 julio 2023 a las 22:06

            Attributes of HTML elements and widgets can be specified in several different ways:

            attribute typesyntax
            literalsingle, double or triple quotes or no quotes for values without spaces
            transcludeddouble curly braces around a text reference
            variabledouble angle brackets around a macro or variable invocation
            filteredtriple curly braces around a filter expression
            substitutedsingle or triple backticks around the text to be processed for substitutions

            Literal Attribute Values

            Literal attribute values can use several different styles of quoting:

            • Single quotes (eg attr='value')
            • Double quotes (eg attr="value")
            • Tripe double quotes (eg attr="""value""")
            • No quoting is necessary for values that do not contain spaces (eg attr=value)

            Literal attribute values can include line breaks. For example:

            <div data-address="Mouse House,
            Mouse Lane,
            Rodentville,
            Ratland."/>

            By using triple-double quotes you can specify attribute values that contain single double quotes. For example:

            <div data-address="""Mouse House,
            "Mouse" Lane,
            Rodentville,
            Ratland."""/>

            Transcluded Attribute Values

            Transcluded attribute values are indicated with double curly braces around a TextReference. For example:

            attr={{tiddler}}
            attr={{!!field}}
            attr={{tiddler!!field}}

            The value of the attribute value will be the exact text retrieved from the TextReference. Any wiki syntax in that text will be left as-is.

            Variable Attribute Values

            Variable attribute values are indicated with double angle brackets around a macro invocation. For example:

            <div title=<<MyMacro "Brian">>>
            ...
            </div>

            The behaviour of variables invoked via widget attributes is not the same as when they are invoked via normal wikitext. In addition, the behaviour depends on how the variable is declared:

            how declaredbehaviour
            \defineTextual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the attribute's value
            $set, $let, $vars, \procedure, \widgetBody text is retrieved as-is and used as the attribute's value.
            \functionWhen a function is invoked as <div class=<<macro>>/>, it is a synonym for <div class={{{[function[macro]]}}}/>. As with any filtered transclusion (i.e. triple curly braces), all results except the first are discarded. That first result is used as the attribute's value. Note that functions are recursively processed even when invoked in this form. In other words a filter expression in a function can invoke another function and the processing will continue

            Filtered Attribute Values

            Filtered attribute values are indicated with triple curly braces around a Filter Expression. The value will be the first item in the resulting list, or the empty string if the list is empty.

            New in: 5.2.2 To improve readability, newlines can be included anywhere that whitespace is allowed within filtered attributes.

            This example shows how to add a prefix to a value:

            <$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />

            The value of the attribute will be the exact text from the first item in the resulting list. Any wiki syntax in that text will be left as-is.

            Substituted Attribute Values

            New in: 5.3.0

            Substituted attribute values can use two different styles of quoting:

            • Single backticks
              attr=`value`
            • Triple backticks
              attr=```value```

            The value of the attribute will be the text denoted by the backticks with any of the placeholders for filter expressions and variables substituted with their corresponding values. Filter expression placeholders are substituted before variable placeholders, allowing for further variable substitution in their returned value.

            Any other wiki syntax in that text will be left as-is.

            placeholder syntaxdescription
            $(varname)$Text substitution of a variable. Undefined variables are replaced with an empty string.
            ${ filter expression }$Text substitution with the first result of evaluating the filter expression.

            Examples

            Substituting a variable value into a string

            <$text text=`Hello there this is the tiddler "Substituted Attribute Values"`/>

            Este es su aspecto:

            Hello there this is the tiddler "Substituted Attribute Values"

            Substituting a variable value and the result of evaluating a filter expression into a string

            <$text text=`This tiddler is titled "Substituted Attribute Values" and was last modified on ${[{!!modified}format:date[DDth MMM YYYY]]}$`/>

            Este es su aspecto:

            This tiddler is titled "Substituted Attribute Values" and was last modified on 15 junio 2023

            Concatenating strings and variables to create a URL

            
            <$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
            <a href=`http://tiddlywiki.com/#`>this tiddler on tiddlywiki.com</a>
            </$let>

            Este es su aspecto:

            this tiddler on tiddlywiki.com

            Concatenating variables and a text reference to create a URL

            
            <$let hash={{{ [<currentTiddler>encodeuricomponent[]] }}}>
            <a href=`${ [{!!base-url}] }$#`>this tiddler on tiddlywiki.com</a>
            </$let>

            Este es su aspecto:

            this tiddler on tiddlywiki.com

            Widget Documentation Style Guide

             25 marzo 2023 a las 16:25

            Widget documentation generally consists of

            • an introductory summary of the widget's function
            • an overview of attributes and how the widget content is handled
            • more detailed attribute explanation when required
            • examples

            The Content and Attributes section should describe how the content of the widget is used, followed by a table of the possible attributes, each with a short description of a single sentence. The attribute names in the table and elsewhere in the tiddler should be rendered with the .attr macro. The .from-version macro should be used as first item in the description to designate the version at which a parameter became available.

            A subsection should be used for parameters that need an extended description, possibly with separate examples. When there are more than 2 such subsection necessary, the subsections should be split into their own tiddlers, and the .doc-tabs macro should be used to transclude them into the widget documentation tiddler as tabs.

            • The .doc-tabs macro is used without parameters
            • The .doc-tabs macro must not be used more than once within a single documentation tiddler
            • The tiddlers to be included in the tab group should be tagged with the respective widget documentation tiddler and have a description field set to tab
            • The caption contains the tab button text. It should be as short as possible. For the attribute name, the .attr macro should be used in the caption
            • The tab tiddlers should start with a level-2-heading that links to itself, so that they may be opened from within the tabs
            • They can contain examples if these are specific to the topic of the subsection

            In the attribute table, the .widget-attr-link macro can be used to turn attributes into a button that activates the respective tab. The .widget-attr-link macro is used like this

            <<.widget-attr-link text:<display text> target:<title of corresponding tiddler> >>

            Elsewhere, the .doc-tab-link macro can be used to activate the respective tab

            <<.doc-tab-link text:<display text> target:<title of corresponding tiddler> tooltip:<tooltip to show when hovering over the button> class:<additional classes> >>

            The parameters tooltip and class are optional.

            Both link macros scroll to the tab group additionally to setting the selected tab. They can also be used within the tab contents tiddlers themselves. If a tab tiddler is opened outside the tab group, doc-tab-link will open the tiddler containing the tab group if it is not yet open, and scroll to its tab group if it is.

            Mensaje: tm-add-field

             16 abril 2016 a las 6:11

            El mensaje tm-add-field define un determinado campo y lo añade con valor en blanco, si dicho campo no existe.

            NombreDescripción
            paramNombre del campo

            Este mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.

            Mensaje: tm-add-tag

             15 abril 2016 a las 7:05

            EL mensaje tm-add-tag añade la etiqueta que se especifique.

            NameDescription
            paramNombre de la etiqueta

            Este mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.

            Mensaje: tm-auto-save-wiki

             16 abril 2016 a las 6:10

            El mensaje tm-auto-save-wiki realiza, siempre que sea necesario, el guardado en segundo plano de TiddlyWiki.

            El mensaje autosave wiki se genera siempre que se producen cambios en el TiddlerStore. Por ejemplo: tm-save-tiddler, tm-delete-tiddler y tm-perform-import guardan, borran y añaden tiddlers respectivamente, lo que tiene como resultado que, al ser procesados, NavigatorWidget genere el mensaje auto-save-widget.

            Lo procesa SyncMechanism en el núcleo de TiddlyWiki, invocando el SaverModule actual. No todos los SaverModules tienen capacidad para hacerlo.

            Mensaje: tm-browser-refresh

             15 abril 2016 a las 10:12

            El mensaje tm-browser-refresh recarga la página, causando el reinicio de todos los plugins. No necesita ninguna propiedad del objeto event.

            Este mensaje se genera con el ButtonWidget y se procesa en el núcleo.

            Mensaje: tm-cancel-tiddler

             16 abril 2016 a las 6:06

            El mensaje tm-cancel-tiddler cancela la edición de un tiddler y abandona los cambios realizados en el borrador.

            Requiere de las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler cuya edición se cancela
            tiddlerTitleTítulo alternativo usado si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.

            Mensaje: tm-clear-password

             16 abril 2016 a las 6:03

            El mensaje tm-clear-passwordborra la contraseña actual del depósito de claves y cambia el valor de $:/isEncrypted. Consulta EncryptionMechanism para más información.

            Este mensaje lo genera normalmente ButtonWidget y lo procesa el propio núcleo.

            Mensaje: tm-close-all-tiddlers

             16 abril 2016 a las 5:53

            El mensaje tm-close-all-tiddlers vacía la StoryList.

            Este mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.

            WidgetMessage: tm-close-all-windows

             1 marzo 2022 a las 18:08

            New in: 5.2.2

            The tm-close-all-windows message closes all additional browser window that were opened with tm-open-window.

            The tm-close-window message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. It is handled by the core itself.

            
            <$button>Close All Windows
            <$action-sendmessage 
              $message="tm-close-all-windows" 
            />
            </$button>
            

            Este es su aspecto:

            Mensaje: tm-close-other-tiddlers

             16 abril 2016 a las 5:51

            El mensaje tm-close-other-tiddlers elimina de la StoryList todos los tiddlers menos el que se indica.

            Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler que no se cerrará
            tiddlerTitleTítulo alternativo usado si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.

            Mensaje: tm-close-tiddler

             16 abril 2016 a las 5:48

            El mensaje tm-close-tiddler elimina de la StoryList el tiddler que se indique.

            Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler que se quiere cerrar
            tiddlerTitleTítulo alternativo usado si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.

            WidgetMessage: tm-close-window

             23 julio 2023 a las 23:05

            New in: 5.2.2

            The tm-close-window message closes an additional browser window that was opened with tm-open-window. Specify which window to close by setting the value of param to the string used as windowID when opening the window.

            NameDescription
            param {default param}String used as windowID when opening the window

            The tm-close-window message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. It is handled by the core itself.

            When used with the ActionSendMessageWidget, param becomes $param

            To close all additional browser windows that were opened with tm-open-window use WidgetMessage: tm-close-all-windows

            If the windowID parameter was used with tm-open-window when opening a new window, the value of windowID is available within that window in the variable tv-window-id

            
            <$button>Open Window
            <$action-sendmessage 
              $message="tm-open-window" 
              $param="$:/temp/openme" 
              template="SampleWindowTemplate" 
              windowTitle="My Window Title"
              width="400"
              height="500"
              windowID="window1"
              something="I just flew in on a variable, and boy is my Hashmap tired." />
            </$button>
            <$button>Close Window
            <$action-sendmessage 
              $message="tm-close-window" 
              $param="window1" 
            />
            </$button>
            

            Este es su aspecto:

            WidgetMessage: tm-copy-to-clipboard

             15 diciembre 2017 a las 15:06

            The "copy to clipboard" message attempts to copy the specified text to the clipboard. If it succeeds, the tiddler $:/language/Notifications/CopiedToClipboard/Succeeded is displayed as a notification. If the browser doesn't permit the operation, the tiddler $:/language/Notifications/CopiedToClipboard/Failed is displayed instead.

            It requires the following properties on the event object:

            NameDescription
            paramText to be copied to the clipboard

            This message is usually generated with the ButtonWidget. It is handled by the TiddlyWiki core.

            Example

            This example copies the current time to the clipboard:

            <$button message="tm-copy-to-clipboard" param=<<now>>>
            Copy date to clipboard
            </$button>

            Este es su aspecto:

            Mensaje: tm-delete-tiddler

             16 abril 2016 a las 5:45

            El mensaje tm-delete-tiddler borra el tiddler especificado y lo elimina de la StoryList actual. Si se trata de un borrador, elimina también el tiddler especificado en el campo draft.of.

            Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler para borrar
            tiddlerTitleTítulo alternativo usado si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje lo genera normalmente ButtonWidget y lo procesa NavigatorWidget.

            Mensaje: tm-download-file

             16 abril 2016 a las 5:40

            El mensaje tm-download-file hace que el SaverModule actual indique al usuario que descargue como archivo el resultado de la interpretación de un determinado tiddler.

            Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler usado como plantilla del nuevo tiddler
            paramObjectHashMap opcional de valores de variable que se usará para la conversión

            Este mensaje lo genera normalmente ButtonWidget y lo procesa SyncMechanism en el núcleo de TiddlyWiki, que invoca el SaverModule actual.

            WidgetMessage: tm-edit-bitmap-operation

             23 julio 2023 a las 22:47

            A tm-edit-bitmap-operation invokes one of the available operations on a surrounding bitmap editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the event object are required:

            NameDescription
            paramName of the operation to be executed, see below for a list of possible operations
            {any other params}Any other parameters are made available as variables within the context of the widget message.

            The tm-edit-bitmap-operation message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding bitmap editor.

            Bitmap Operations

            At this point the following bitmap operations have been implemented:

            NameDescription
            resize

            Resizes the image to the specified width and height. Parameters include:

            NameDescription
            widthSpecifies the width the image is resized to
            heightSpecifies the height the image is resized to
            clear

            Clears the contents of the image and fills it with a solid colour. Parameters include:

            NameDescription
            colourColour the image should be filled with, defaults to White

            The colour field can take any normal CSS colour value, including the hexadecimal representation or the RGB format.

            Example

            An example can be seen in $:/core/ui/EditorToolbar/size-dropdown:

            <$button>
            <$action-sendmessage
            	$message="tm-edit-bitmap-operation"
            	$param="resize"
            	width={{$config-title$/new-width}}
            	height={{$config-title$/new-height}}
            />
            ...
            Resize
            </$button>

            WidgetMessage: tm-edit-text-operation

             23 julio 2023 a las 22:46

            A tm-edit-text-operation invokes one of the available operations on a surrounding text editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the event object are required:

            NameDescription
            paramName of the operation to be executed, see below for a list of possible operations
            {any other params}Any other parameters are made available as variables within the context of the widget message.

            The tm-edit-text-operation message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding text editor.

            Text Operations

            At this point the following text operations have been implemented:

            NameDescription
            excise

            Excises the currently selected text into a new tiddler and replaces it with a link, a macro or a transclude of the new tiddler. Parameters include:

            NameDescription
            titleTitle of the new tiddler the selected content is excised to
            typeType of the replacement to be inserted: Can be one of transclude, link or macro
            macroIn case type=macro, specifies the name of the macro to be inserted. The title of the new tiddler is provided as the first parameter to the macro. Defaults to the translink macro
            tagnewIf 'yes', will tag the new tiddler with the title of the tiddler currently being edited
            replace-all

            Replaces all contents of the editor with the provided text.

            NameDescription
            textText to be inserted
            replace-selection

            Replaces the current selection with the provided text.

            NameDescription
            textText to be inserted
            prefix-lines

            Prefixes the currently selected line(s) with the provided character. If a line is already prefixed by the provided prefix, the prefix is removed instead.

            NameDescription
            characterPrefix character
            countNumber of characters that make up the prefix

            Example Setting character="!" and count="3" would insert the prefix "!!!", which will resolve to a subheading when parsed as WikiText.

            wrap-lines

            Surrounds the selected lines with the provided prefix and suffix.

            NameDescription
            prefixString to be prefixed to the selected lines
            suffixSuffix to be inserted after the selected lines
            wrap-selection

            Surrounds the current selection with the provided prefix and suffix.

            NameDescription
            prefixString to be prefixed to the selection
            suffixSuffix to be inserted after the selection
            save-selection

            Saves the text of the current selection into the provided tiddler and field.

            NameDescription
            tiddlerTiddler title to which the selection will be saved
            fieldField name (defaults to "text")
            make-link

            Creates a wiki text link to the tiddler specified in text. If there is a selection, it is used as the text of the link.

            NameDescription
            textTiddler title to which the link will be created
            insert-text

            Inserts the text specified in text at the caret position. If there is a selection, it is replaced.

            NameDescription
            textText to be inserted
            focus-editor New in: 5.2.0 Simply focuses the Text Editor

            Example

            An example can be seen in $:/core/ui/EditorToolbar/bold:

            <$action-sendmessage
            	$message="tm-edit-text-operation"
            	$param="wrap-selection"
            	prefix="''"
            	suffix="''"
            />

            Mensaje: tm-edit-tiddler

             16 abril 2016 a las 5:33

            El mensaje tm-edit-tiddler sustituye en la StoryList el tiddler especificado por un borrador de sí mismo.

            Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler que pasa a modo edición
            tiddlerTitleTítulo alternativo usado si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje normalmente lo generan ButtonWidget o ActionSendMessageWidget y loprocesa NavigatorWidget.

            WidgetMessage: tm-focus-selector

             23 julio 2023 a las 22:51

            The tm-focus-selector message sets the focus to the DOM element identified by the selector in the param parameter.

            NameDescription
            paramSelector identifying the DOM element to be focussed
            {any other params}Any other parameters to be passed to the focus() method as variables.

            Use preventScroll="true" to prevent the browser from scrolling to the focused element

            WidgetMessage: tm-fold-all-tiddlers

             28 octubre 2019 a las 11:38

            The tm-fold-all-tiddlers message folds all tiddlers in the current story list.

            Internally, it sets the text of all of the state tiddlers corresponding to tiddlers in the story river to "hide". The state tiddler titles are formed by prefixing the tiddler title with a prefix that defaults to $:/state/folded/.

            NameDescription
            foldedStatePrefixPrefix for the state tiddler in which the fold state is stored. Defaults to $:/state/folded

            The tm-fold-all-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.

            WidgetMessage: tm-fold-other-tiddlers

             28 octubre 2019 a las 11:39

            The tm-fold-other-tiddlers message folds all tiddlers in the current story list, except the one specified in the param parameter. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.

            NameDescription
            paramTitle of the tiddler that should be ignored by the fold operation.
            foldedStatePrefixPrefix for the state tiddler in which the fold state is stored.

            The core uses a foldStatePrefix of $:/state/folded/ to store the fold states for the default story view.

            The state tiddlers title is computed as foldStatePrefix + TiddlerTitle. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss.

            The tm-fold-other-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.

            WidgetMessage: tm-fold-tiddler

             28 octubre 2019 a las 11:35

            The tm-fold-tiddler message toggles the value of a state tiddler. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.

            NameDescription
            paramignored ... foldedState must be used
            foldedStateState tiddler in which the fold state is stored

            The core uses a foldState prefix of $:/state/folded/ + tiddler title to store the fold states for the default story view.

            The tm-fold-tiddler message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.

            The core $:/core/ui/ViewTemplate defines a global variable folded-state, that is used with every tiddler. It's created like this:

            \define folded-state()
            $:/state/folded/$(currentTiddler)$
            \end

            Mensaje: tm-full-screen

             16 abril 2016 a las 5:27

            El mensaje tm-full-screen alterna el modo de vista en pantalla completa, si el navegador lo permite.

            Este mensaje lo procesa el núcleo de TiddlyWiki.

            Mensajes: tm-home

             16 abril 2016 a las 5:25

            El mensaje tm-home cierra cualquier tiddler que se haya abierto y abre los tiddlers por defecto definidos en $:/DefaultTiddlers.

            También elimina cualquier permalink de la barra de dirección del navegador

            No requiere propiedad alguna del objeto event.

            Este mensaje normalmente lo genera ButtonWidget y lo procesa el núcleo de TiddlyWiki.

            WidgetMessage: tm-http-cancel-all-requests

             29 abril 2023 a las 17:14

            The tm-http-cancel-all-requests message is used to cancel all outstanding HTTP requests initiated with WidgetMessage: tm-http-request.

            Note that the state tiddler $:/state/http-requests contains a number representing the number of outstanding HTTP requests in progress.

            It does not take any parameters.

            WidgetMessage: tm-http-request

             23 julio 2023 a las 22:53

            The tm-http-request message is used to make an HTTP request to a server.

            It uses the following properties on the event object:

            NameDescription
            paramNot used
            {any other params}Any other parameters are made available as variables within the context of the widget message. See below.

            The following parameters are used:

            NameDescription
            methodHTTP method (eg "GET", "POST")
            bodyString data to be sent with the request
            binary New in: 5.3.1 Set to "yes" to cause the response body to be treated as binary data and returned in base64 format
            query-*Query string parameters with string values
            header-*Headers with string values
            password-header-*Headers with values taken from the password store
            password-query-*Query string parameters with values taken from the password store
            var-*Variables to be passed to the completion and progress handlers (without the "var-" prefix)
            bind-statusTitle of tiddler to which the status of the request ("pending", "complete", "error") should be bound
            bind-progressTitle of tiddler to which the progress of the request (0 to 100) should be bound
            oncompletionAction strings to be executed when the request completes
            onprogressAction strings to be executed when progress is reported

            The following variables are passed to the completion handler:

            NameDescription
            statusHTTP result status code (see MDN)
            statusTextHTTP result status text
            errorError string
            dataReturned data
            headersResponse headers as a JSON object

            The following variables are passed to the progress handler:

            NameDescription
            lengthComputableWhether the progress loaded and total figures are valid - "yes" or "no"
            loadedNumber of bytes loaded so far
            totalTotal number bytes to be loaded

            Note that the state tiddler $:/state/http-requests contains a number representing the number of outstanding HTTP requests in progress.

            Examples

            WidgetMessage: tm-http-request Example - Random Dog

             

            Random Dogs

            This demo uses the API of the website https://random.dog/ to import a random dog image or video.

            Note that the images and videos can be quite large, so this demo is not recommended to be used over mobile data connections.

            WidgetMessage: tm-http-request Example - Zotero

             

            Specify the Zotero group ID to import or

            Outstanding requests:

            Mensaje: tm-import-tiddlers

             16 abril 2016 a las 6:13

            El mensaje tm-import-tiddlers añade una lista de tiddlers a $:/Import, señalando así que están pendientes de importación. También aplica cualquier módulo upgrader activo a cada tiddler según llega. Consulta UpgradeMechanism para mayor información.

            NombreDescripción
            paramtexto JSON de la matriz de tiddlers para importar

            Este mensaje lo generan normalmente DropzoneWidget o BrowseWidget y lo procesa NavigatorWidget.

            Variables de configuración

            WidgetMessage: tm-load-plugin-from-library

             25 abril 2016 a las :55

            The tm-load-plugin-from-library message load the specified tiddler or plugin from the specified plugin library.

            NameDescription
            titleTitle of the tiddler or plugin to be loaded into the current wiki
            urlUrl specifying the plugin library from which the tiddler or plugin is to be loaded.

            Example

            The following snippet will install the CodeMirror plugin from the official plugin library:

            <$button>
            <$action-sendmessage $message="tm-load-plugin-from-library" title="$:/plugins/tiddlywiki/codemirror" url="https://tiddlywiki.com/library/v5.1.11/index.html"/>
            Install CodeMirror
            </$button>

            Usually a plugin library has to be loaded (initialized) first before it can be used. If the plugin library specified by 'url' has not been initialized yet, it will be loaded and initialized.

            The tm-load-plugin-from-library message is usually generated with the ButtonWidget and is handled by the core itself.

            WidgetMessage: tm-load-plugin-library

             25 abril 2016 a las 1:04

            The tm-load-plugin-library message loads the specified plugin library and imports information about the contained plugins in temporary tiddlers.

            NameDescription
            urlUrl specifying the plugin library to be loaded.
            infoTitlePrefixPrefix to the temporary tiddlers being created, containing information about the plugins the plugin library offers. Defaults to $:/temp/RemoteAssetInfo/

            Example

            The following snippet will load the official plugin library:

            <$button>
            <$action-sendmessage $message="tm-load-plugin-library" infoTitlePrefix="$:/temp/RemoteAssetInfo/" url="https://tiddlywiki.com/library/v5.1.11/index.html"/>
            Load official plugin library
            </$button>

            The tm-load-plugin-library message is usually generated with the ButtonWidget and is handled by the core itself.

            Mensajes: tm-login

             15 abril 2016 a las 17:02

            El mensaje tm-login pide al usuario que introduzca un nombre de usuario y contraseña e intenta iniciar sesión en el servidor. El tiddler $:/status/IsLoggedIn informa del actual estado de inicio de sesión con los valores "yes" o "no" y $:/status/UserName indica el nombre de usuario actual.

            Este mensaje lo procesa SyncMechanism en el núcleo de TiddlyWiki invocando el SyncAdaptorModule actual, (generalmente, el plugin tiddlywiki/tiddlywebadaptor).

            Mensaje: tm-logout

             15 abril 2016 a las 17:02

            El mensaje tm-logout desconecta al usuario de su sesión actual en el servidor. El tiddler $:/status/IsLoggedIn indica el estado actual de inicio de sesión con los valores "yes" o "no" y $:/status/UserName indica el nombre de usuario actual

            Este mensaje lo procesa SyncMechanism en el núcleo de TiddlyWiki invocando el SyncAdaptorModule actual, (generalmente, el plugin tiddlywiki/tiddlywebadaptor).

            Mensaje: tm-modal

             15 abril 2016 a las 16:35

            El mensaje tm-modal muestra determinado tiddler sobre una ventana modal que atenúa la página principal. Requiere de las siguientes propiedades en el objeto event:

            NombreDescripción
            paramTítulo del tiddler que se quiere mostrar
            paramObjectHashMap de variables que se le suministra al modal

            La variable current tiddler se asigna al tiddler modal, pero puede anularse especificando un valor diferente en paramObject.

            Este mensaje se genera normalmente con ButtonWidget y lo procesa el núcleo de TiddlyWiki.

            Ejemplo

            Este es un ejemplo de modal y de cómo se le pasan parámetros:

            Escribe tu nombre: <$edit-text tiddler="$:/temp/yourName" tag="input" default="Nombre"/>
            
            Escribe tu mensaje:
            <$edit-text tiddler="$:/temp/yourMessage" default="Mensaje"/>
            
            <$button>
            <$action-sendmessage $message="tm-modal" $param="SampleModal" yourName={{$:/temp/yourName}} yourMessage={{$:/temp/yourMessage}}/>
            ¡Haz clic!
            </$button>

            Este es su aspecto:

            Escribe tu nombre:

            Escribe tu mensaje:

            Mensaje: tm-navigate

             15 abril 2016 a las 15:42

            El mensaje tm-navigate inserta el tiddler que se indica en la StoryList y lo coloca al inicio de la HistoryList. Si el tiddler no está ya en la StoryList, se colocará inmediatamente después del que se especifique en event.navigateFromTitle.

            Este mensaje precisa de las siguientes propiedades del objeto event:

            NombreDescripción
            navigateToTítulo del tiddler al que se navega
            navigateFromTitleTítulo del tiddler desde el que se inicia la navegación
            navigateFromClientRectCoordenadas en la página cliente del cuadro del elemento que inicia la navegación
            navigateSuppressNavigationtrue hace que el nuevo tiddler se añada a la StoryList, sin sumarse a la HistoryList. Esto suprime el desplazamiento asociado con la navegación a un tiddler

            Este mensaje pueden generarlo LinkWidget, ActionNavigateWidget y ButtonWidget, pero lo procesa NavigatorWidget.

            Mensaje: tm-new-tiddler

             15 abril 2016 a las 14:09

            El mensaje tm-new-tiddler crea un nuevo borrador y lo añade a la StoryList actual. Precisa de las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo opcional de un tiddler que sirva de plantilla para el nuevo tiddler
            paramObjectHashMap opcional de TiddlerFields adicionales
            navigateFromTitleTítulo del tiddler desde el que se inició la navegación hacia el nuevo tiddler

            El título del borrador se elige conforme a las siguientes reglas:

            • Si se usó un HashMap y se definió un campo title, usa su valor
            • Si se usó plantilla, usa el título y un sufijo numérico para hacerlo único
            • Si no, genera un nuevo título basándose en el nuevo título por defecto y un sufijo numérico para hacerlo único.

            El mensaje tm-new-tiddler se genera normalmente con ButtonWidget o ActionSendMessageWidget y lo procesa NavigatorWidget.

            Ejemplos

            Si queremos hacer un botón que cree nuevos tiddlers con la etiqueta "tarea", tendremos que crear un tiddler llamado por ejemplo "PlantillaTarea" con las etiquetas que se quieren asignar ("tarea", en este caso) y entonces definir el botón de esta forma:

            <$button message="tm-new-tiddler" param="PlantillaTarea">Nueva Tarea </$button>

            Si en lugar de a partir de una plantilla, queremos un botón que cree tiddlers a partir de una serie de atributos:

            <$button>
            <$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/>
            New Tiddler
            </$button>

            Mensaje: tm-notify

             15 abril 2016 a las 12:48

            El mensaje tm-notify muestra un tiddler determinado como una pequeña alerta en la esquina superior derecha de la página. Requiere las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler que se mostrará

            Este mensaje lo procesa el núcleo de TiddlyWiki

            WidgetMessage: tm-open-external-window

             23 julio 2023 a las 23:08

            New in: 5.1.14

            The tm-open-external-window message opens an external link eg: "https://tiddlywiki.com" in a new browser window. If no parameters are specified, it opens the help tiddler. Any additional parameters passed via the paramObject are being provided as variables to the new window.

            NameDescription
            paramURL of the tiddler to be opened in a new browser window, defaults to the TiddlyWiki help
            {any other params}Any other parameters are made available as variables to the window. See below.

            parmObject

            NameDescriptionImportant
            windowNameIf a parameter is provided it can be used to open different links in the same window eg: _tiddlywiki. Default is empty, so every link opens a new window.The behaviour is influenced by user settings in the browser and the browsers default behavior!
            windowFeaturesThis parameter needs to be provided as a single string. eg: "height=400, width=600". For detailed description about possible parameters see: Mozilla Help

            The tm-open-external-window message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the core itself.

            Examples

            <$button>
            <$action-sendmessage $message="tm-open-external-window" $param="https://tiddlywiki.com" windowName="_tiddlywiki" windowFeatures="height=500, width=900"/>
            Open ~TiddlyWiki - Action
            </$button>
            
            <$button>
            <$action-sendmessage $message="tm-open-external-window" $param="https://developer.mozilla.org/en-US/docs/Web/API/Window/open" windowName="_tiddlywiki" windowFeatures="height=400, width=600"/>
            Open Mozilla Help - Action
            </$button>
            
            <$button message="tm-open-external-window" param="https://tiddlywiki.com" >
            Open ~TiddlyWiki - Button
            </$button>

            Este es su aspecto:

            WidgetMessage: tm-open-window

             1 marzo 2022 a las 16:21

            The tm-open-window message opens a tiddler in a new browser window. If no parameters are specified, the current tiddler is opened in a new window. Similiar to tm-modal any additional parameters passed via the paramObject are provided as variables to the new window.

            NameDescription
            param {default param}Title of the tiddler to be opened in a new browser window, defaults to currentTiddler if empty
            templateTemplate in which the tiddler will be rendered
            windowTitleTitle string for the opened window
            widthWidth of the new browser window
            heightHeight of the new browser window
            left New in: 5.2.2 Optional, left position of new browser window
            top New in: 5.2.2 Optional, top position of new browser window
            windowID New in: 5.2.2 Optional, unique string used to identify the widow. Can be used with WidgetMessage: tm-close-window to close the window. Defaults to the value of param
            {any other params}Any other parameters are made available as variables within the new window

            The tm-open-window message is best generated with the ActionSendMessageWidget, which in turn is triggered by a widget such as the ButtonWidget. The message is handled by the core itself.

            When used with the ActionSendMessageWidget, param becomes $param

            Parameters template, windowTitle, width, height, left and top require the ActionSendMessageWidget.

            New in: 5.2.2 To close a window opened with tm-open-window use WidgetMessage: tm-close-window

            New in: 5.2.2 To open a tiddler in more than one new window, use a unique value for windowID

            
            <$button>Open Window
            <$action-sendmessage 
              $message="tm-open-window" 
              $param="$:/temp/openme" 
              template="SampleWindowTemplate" 
              windowTitle="My Window Title"
              width="640"
              height="480"
              something="This is my new window. There are many like it, but this one is mine." />
            </$button>
            

            Este es su aspecto:

            Mensajes: tm-perform-import

             15 abril 2016 a las 12:30

            El mensaje tm-perform-import toma tiddlers de un plugin específico y los copia en el TiddlerStore principal. Consulta UpgradeMechanism para tener una idea general de cómo el núcleo usa este mensaje.

            NombreDescripción
            paramTítulo del tiddler pendiente de importar. (Por defecto, $:/Import

            Para seleccionar los tiddlers que van a importarse, se usan campos con nombres formados por selection- más el título del tiddler. El valor unchecked omite el tiddler durante la importación.

            Este mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.

            Mensaje: tm-permalink

             15 abril 2016 a las 12:18

            El mensaje tm-permalink cambia la dirección de la barra del navegador para formar un permalink: dirección web que lleva hasta un tiddler específico (por defecto, el tiddler actual).

            Este mensaje permite las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler para el permalink
            tiddlerTitleEl tiddler actual (usado por defecto si no se especifica otro en el param)

            Este mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism

            Mensaje: tm-permaview

             15 abril 2016 a las 12:00

            El mensaje tm-permaview cambia la dirección del navegador para formar una permaview: dirección web que especifica qué tiddlers aparecerán abiertos en el StoryRiver y entre estos, cuál se muestra primero en pantalla (por defecto, el tiddler actual).

            Este mensaje permite las siguientes propiedades del objeto event:

            NombreDescripción
            paramTítulo del tiddler de la permaview que primero se mostrará en pantalla
            tiddlerTitleTiddler actual (usado por defecto si no se especifica otro en el param)

            Este mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism

            WidgetMessage: tm-print

             8 octubre 2016 a las 9:56

            New in: 5.1.14 The tm-print message causes the browser to display the print dialog for the current page. It does not require any properties on the event object.

            The print message is usually generated with the ButtonWidget and is handled by the core.

            WidgetMessage: tm-relink-tiddler

             19 febrero 2022 a las 9:37

            New in: 5.2.2 The tm-relink-tiddler message relinks a tiddler by deleting it and recreating it with a new title. Unlike the WidgetMessage: tm-rename-tiddler message, this message does not rename the tiddler, it just relinks the references to it.

            The relink tiddler message requires the following properties on the event object:

            NameDescription
            fromCurrent title of tiddler
            toNew title of tiddler
            renameInTagsOptional value "no" to disable renaming in tags fields of other tiddlers (defaults to "yes")
            renameInListsOptional value "no" to disable renaming in list fields of other tiddlers (defaults to "yes")

            The relink tiddler message is usually generated with the ButtonWidget and is handled by the core.

            Examples

            To relink Tiddler1 to Tiddler2 in tags and list fields of other tiddlers:

            <$action-sendmessage $message="tm-relink-tiddler" from="Tiddler1" to="Tiddler2" />

            Mensaje: tm-remove-field

             15 abril 2016 a las 11:32

            El mensaje tm-remove-field elimina el campo especificado.

            NombreDescripción
            paramNombre del campo para eliminar

            Este mensaje se genera normalmente con ButtonWidget y lo procesa FieldManglerWidget.

            Mensaje: tm-remove-tag

             15 abril 2016 a las 11:29

            El mensaje tm-remove-tag elimina la etiqueta especificada.

            NameDescription
            paramNombre de etiqueta para borrar

            Este mensaje normalmente se genera con ButtonWidget y lo procesa FieldManglerWidget.

            WidgetMessage: tm-rename-tiddler

             19 febrero 2022 a las 9:37

            The tm-rename-tiddler message renames a tiddler by deleting it and recreating it with a new title. The rename tiddler message requires the following properties on the event object:

            NameDescription
            fromCurrent title of tiddler
            toNew title of tiddler
            renameInTags New in: 5.1.23 Optional value "no" to disable renaming in tags fields of other tiddlers (defaults to "yes")
            renameInLists New in: 5.1.23 Optional value "no" to disable renaming in list fields of other tiddlers (defaults to "yes")

            The very similar WidgetMessage: tm-relink-tiddler message does not rename the tiddler, it just relinks the references to it.

            The rename tiddler message is usually generated with the ButtonWidget and is handled by the core.

            Examples

            To rename a tiddler called Tiddler1 to Tiddler2 and also renaming Tiddler1 in tags and list fields of other tiddlers:

            <$action-sendmessage $message="tm-rename-tiddler" from="Tiddler1" to="Tiddler2" />

            To rename a tiddler called Tiddler1 to Tiddler2 and not rename Tiddler1 in tags and list fields of other tiddlers:

            <$action-sendmessage $message="tm-rename-tiddler" from="Tiddler1" to="Tiddler2" renameInTags="no" renameInLists="no"/>

            To rename a tiddler called Tiddler1 to Tiddler2 and respect the setting in the tiddler $:/config/RelinkOnRename for whether to rename Tiddler1 in tags and list fields of other tiddlers:

            <$action-sendmessage $message="tm-rename-tiddler" from="Tiddler1" to="Tiddler2" renameInTags={{$:/config/RelinkOnRename}} renameInLists={{$:/config/RelinkOnRename}}/>

            Mensaje: tm-save-tiddler

             15 abril 2016 a las 11:19

            El mensaje tm-save-tiddler se aplica a los tiddlers en borrador. Sobreescribe el tiddler identificado en el campo draft.of y elimina el borrador. Este mensaje requere las siguientes propiedades del objeto event

            NombreDescripción
            paramTítulo del tiddler que se sobreescribe
            tiddlerTitleTídulo alternativo si no se especifica param (asignado automáticamente por ButtonWidget)

            Este mensaje normalmente lo genera ButtonWidget y lo procesa NavigatorWidget.

            Mensaje: tm-save-wiki

             15 abril 2016 a las 10:59

            El mensaje tm-save-wikihace que el SaverModule actual realice una operación de guardado de todo el wiki. Dicha operación puede requerir intervención del usuario. Precisa de las siguientes propiedades en el objeto event:

            NombreDescripción
            paramTítulo del tiddler que sirve de plantilla para generar el wiki. (por defecto $:/core/save/all)
            paramObjectHashMap opcional de valores de variable para usar al generar el wiki

            Este mensaje lo genera habitualmente ButtonWidget.

            The save wiki message is usually generated by the ButtonWidget.

            El SyncMechanism del núcleo es quien procesa este mensaje invocando el SaverModule actual.

            WidgetMessage: tm-scroll

             14 octubre 2020 a las 16:24

            The tm-scroll message causes the surrounding scrollable container to scroll to the specified DOM node into view. The tm-scroll is handled in various places in the core itself, but can also be handled by a ScrollableWidget.

            NameDescription
            targetTarget DOM node the scrollable container should scroll to (note that this parameter can only be set via JavaScript code)
            selector New in: 5.1.23 Optional string CSS selector as an alternate means of identifying the target DOM node
            animationDuration New in: 5.2.2 Optional number specifying the animation duration in milliseconds for the scrolling. Defaults to the global animation duration.

            Set animationDuration to 0 to scroll without animation

            Mensaje: tm-server-refresh

             15 abril 2016 a las 10:38

            El mensaje tm-server-refresh intenta sincronizar con el servidor los últimos cambios del cliente.

            El SyncMechanism del núcleo es quien procesa este mensaje invocando el Módulo de sincronización actual, (normalmente, el plugin tiddlywiki/tiddlywebadaptor).

            Mensaje: tm-set-password

             15 abril 2016 a las 10:23

            El mensaje tm-set-passwordpide al usuario que establezca una contraseña y la guarda en el depósito, sustituyendo cualquier otra contraseña que se hubiera guardado anteriormente. Como consecuencia, establece también el valor de $:/isEncrypted

            Más detalles en EncryptionMechanism.

            Este mensaje lo genera habitualmente ButtonWidget y se procesa en el propio núcleo.

            WidgetMessage: tm-unfold-all-tiddlers

             28 octubre 2019 a las 11:38

            The tm-unfold-all-tiddlers message unfolds all tiddlers in the current story list. It does so by setting the text of all state tiddlers to: "show".

            NameDescription
            foldedStatePrefixPrefix for the state tiddler in which the fold state is stored.

            The core uses a foldStatePrefix of $:/state/folded/ to store the fold states for the default story view.

            The state tiddlers title is computed as foldStatePrefix + TiddlerTitle. If the foldStatePrefix is not set, it will overwrite the text of the tiddler(s) itself, resulting in data loss.

            The tm-unfold-all-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.

            WidgetMessage: tm-unload-plugin-library

             4 octubre 2019 a las 12:36

            The tm-unload-plugin-library message unloads the specified plugin library and deletes associated temporary tiddlers.

            NameDescription
            urlUrl specifying the plugin library to be unloaded

            Unloading a plugin library deletes the following tiddlers:

            • The tiddler titled $:/temp/ServerConnection/ + <url>
            • All tiddlers with the prefix $:/temp/RemoteAssetInfo/ + <url> + /

            The tm-unload-plugin-library message is usually generated with the ButtonWidget and is handled by the core itself.

            Widgets

             19 febrero 2015 a las 18:27

            TiddlyWiki's display is driven by an underlying collection of widgets. These are organised into a tree structure: each widget has a parent widget and zero or more child widgets.

            TiddlyWiki generates this widget tree by parsing the WikiText of tiddlers. Each component of the WikiText syntax, including even the trivial case of ordinary text, generates a corresponding widget. The widget tree is an intermediate representation that is subsequently rendered into the actual display.

            Widgets are analogous to elements in an HTML document. Indeed, HTML tags in WikiText generate dedicated element widgets.

            Each class of widget contributes a specific ability to the overall functionality, such as the ability to display an image or a button, to call a macro or transclude text from elsewhere, or to mark a piece of text as a heading.

            The more specialised widgets use a general-purpose widget syntax as their only possible WikiText representation.

            The following classes of widget are built into the core:

            Widgets in WikiText

             13 mayo 2022 a las 12:33

            Widgets provide rich functionality within WikiText. They have the same syntax as HTML elements, but the tag name always starts with $. For example:

            <$button message="tm-navigate" to="HelloThere">Open ~HelloThere</$button>
            

            Note that widgets inherit all the features of HTML in WikiText:

            • Widget attributes can be specified as:
              • Unquoted strings (that cannot contain spaces)
              • Strings quoted with single or double quotes
              • Strings quoted with triple-double quotes
              • Macro invocations (eg attr=<<myMacro>>)
              • Transclusions (eg, attr={{MyTiddler!!field}})
              • Filtered transclusions (eg, attr={{{ [filter[op]] }}})
              • New in: 5.3.0 Substituted Attribute Values
            • The content of a widget is parsed in inline mode unless the opening tag is followed by two linebreaks, which forces block mode

            See HTML in WikiText for more details.

            The available widgets include:

            Wiki

             

            Groups of uniquely titled tiddlers are contained in WikiStore objects.

            The WikiStore also manages the plugin modules used for widgets, and operations like serialising, deserialising, parsing and rendering tiddlers.

            WikificationMechanism

             13 octubre 2019 a las 10:40

            "Wikification" is a general term for the dynamic process of converting tiddlers containing WikiText into the HTML DOM representation needed by the browser, and updating that representation if the underlying tiddlers change.

            It is composed of several distinct steps:

            • ParserMechanism: reading the text of tiddlers and scanning for wikitext constructions, outputting a tree representation of the resulting structure. It is an expensive process so parse trees are cached, and only need to be updated if the corresponding tiddler is changed
            • WidgetMechanism: starting with a specified root tiddler, recursively instantiate a widget for each parse tree node making a rendering tree. Widgets can optionally also create DOM nodes
            • RefreshMechanism: handling changes to the tiddler store by selectively and efficiently updating a rendering tree

            This mechanism is used in the browser to build TiddlyWiki's main interactive page. At startup, the tiddler $:/core/ui/PageTemplate is parsed and rendered to the DOM, recursively pulling in other tiddlers to build the entire user interface. Any user interactions – following a link, clicking a button, or typing in a text box – trigger a change in the tiddler store which then automatically propagates through the widget tree. For example, if the user clicks a link to navigate to a new tiddler, the following steps take place:

            1. Clicking the link triggers the action of the LinkWidget which by default is to add the target tiddler to the list field of the tiddler $:/StoryList
            2. The modification to the tiddler store asynchronously triggers the refresh cycle. The asynchronous triggering ensures that the refresh cycle is only run once even if multiple tiddlers were modified in succession
            3. The refresh cycle recursively visits each node of the render tree giving them the chance to update themselves in the light of the accumulated changes to the tiddler store. In this case, the ListWidget of the main story river notices that a single tiddler needs to be added to the river, and renders that newly displayed tiddler without disturbing the other tiddlers

            The performance of the entire wikification process is critical. If the refresh cycle takes more than about 400ms then the user will notice a delay between their actions and the effects. See Performance for some discussion of how to optimise performance.

            The rendering process is also aggressively reused in other parts of TiddlyWiki, both in the browser and on the server:

            • Generating TiddlyWiki's standalone HTML representation
            • Creating static HTML renderings of tiddlers
            • Dynamically rendering CSS stylesheet tiddlers

            WikifyWidget

             22 enero 2022 a las 19:15

            Introduction

            The wikify widget parses and renders a string of text and assigns the result to a specified variable. The new value of the variable is available to the content within the wikify widget.

            Content and Attributes

            The content of the <$wikify> widget is the scope for the value assigned to the variable.

            AttributeDescription
            nameThe name of the variable to assign
            textThe text to parse and render
            typeThe ContentType of the text (defaults to text/vnd.tiddlywiki)
            modeThe parse mode: block (the default) or inline
            outputKeyword indicating the desired output type, defaulting to text (see below)

            The available output types are:

            KeywordDescription
            textReturn the plain text of the rendered output (ie HTML tags are omitted)
            formattedtextReturn the plain text with simple text formatting of the rendered output (ie HTML tags are omitted)
            htmlReturn the rendered HTML of the output
            parsetreeReturn a formatted JSON representation of the parse tree
            widgettreeReturn a formatted JSON representation of the widget tree

            WikiText

             3 marzo 2023 a las 21:47

            WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of Markdown but with more of a focus on linking and the interactive features.

            WikiText can also be inserted to the text field using the Editor toolbar buttons.

            See Formatting in WikiText and Formatting text in TiddlyWiki for an introduction to WikiText.

            The following elements of WikiText syntax are built into the core:

            WikiText parser mode transitions

             22 enero 2022 a las 18:42

            This is a rough diagram whose lines mostly correspond to the parser mode transitions described below:

            pragma modeinline modeblock mode<<<@@$$other block mode start punctinline modeblock mode close punctuationblank linehtml open tagtransclude widgetmacrocall

            Start mode

            By default the parser starts in block mode. However, a tiddler can instead be transcluded with inline mode in which case block mode WikiText will not be recognised.

            At the start of text only, the parser will also recognise any pragma mode WikiText.

            Transitions from pragma mode

            At the start of text, the parser will recognise any pragma. If none are found then it will move to inline or block mode depending on the transclusion mode. If any pragma are found then it will continue looking for pragma until it finds one or more blank lines not followed by the start of a new pragma.

            Transitions from block mode

            When the parser encounters most block mode start punctuation it transitions to inline mode. This means he text enclosed by most block mode constructs will be parsed using inline mode.

            The start "punctuation" for a paragraph is "invisible". Even for paragraphs the parser moves to inline mode

            However, there are a few constructs whose enclosed text is parsed using block mode:

            When the start punctuation for these are encountered, the enclosed text will continue to be parsed in block mode.

            Horizontal rules are another special case. They do not enclose any text, so there is no opportunity for the parser to transition to inline mode.

            Opening widget or HTML tags provide another way the parser can transition. When such a tag is not followed by a blank line, then the contents enclosed by the tag will be parsed in inline mode. See the HTML examples.

            Transitions from inline mode

            WikiText parser mode: HTML examples

             22 enero 2022 a las 18:05
            <div>
            
            * blank line after open tag allows
            * block mode punctuation (i.e. this list) to
            * be recognised
            </div>
            

            Este es su aspecto:

            • blank line after open tag allows
            • block mode punctuation (i.e. this list) to
            • be recognised

            The open tag blank line "trick" also works inside of punctuation only recognised in inline mode (such as Formatting in WikiText):

            ''<div>
            
            * list item one
            * list item two
            </div>''

            Este es su aspecto:

            • list item one
            • list item two


            <div>
            * Open tag without a blank line means
            * block mode punctuation (i.e. this list) will
            * NOT be recognised.
            
            Paragraphs are only recognised in block mode. Even with blank lines, new paragraphs are not recognised.
            
            This also is not a new paragraph.
            </div>

            Este es su aspecto:

            * Open tag without a blank line means * block mode punctuation (i.e. this list) will * NOT be recognised. Paragraphs are only recognised in block mode. Even with blank lines, new paragraphs are not recognised. This also is not a new paragraph.


            Tables in WikiText is one construct for which the open tag blank line "trick" cannot work. In order for the parser to recognise a table row, the entire row must be on a single line.

            Adding a blank link after an open tag within a table cell causes the row to span mulitple lines and the parser ceases to be able to recognise it as a table row.

            |table row|all on|one line|is recognised|

            Este es su aspecto:

            table rowall onone lineis recognised
            |For a blank line after open tag|<div>
            
            * list is recognised
            * but the surrounding table row is not
            </div>|

            Este es su aspecto:

            |For a blank line after open tag|

            • list is recognised
            • but the surrounding table row is not
            |


            The only way to get block mode punctuation recognised in wikitext tables is to use $transclude with mode = block.

            |Nested table:|<$transclude tiddler="table-example" mode=block/>|

            Este es su aspecto:

            Nested table:
            cell onecell two
            cell threecell four

            Note that $macrocall does not have a similar mode attribute and the content of macro definitions can only be parsed in inline mode


            The less convenient <table>, <tr>, <td> html tags can be used as a foolproof way to get block mode punctuation recognised inside of table cells.

            <table>
            <tr><td>
            
            * list item one
            * list item two
            </td><td>
            
            |nested|table|
            </td></tr>
            </table>

            Este es su aspecto:

            • list item one
            • list item two
            nestedtable

            WikiText parser mode: macro examples

             22 enero 2022 a las 18:09

            With the macro boringtable defined as:

            |cell one|cell two|
            |cell three|cell four|
            then

            The list syntax is recognised in block mode and the enclosed contents are parsed using inline mode. When the parser encounters a wikitext macro call it will use the current parse mode to parse the contents of the macro. The contents of the macro contains table syntax which is only recognised in block mode.

            Therefore, in #1 above the table syntax is not recognised. In #2 above, the blank line after the open div tag moves the parser back into block mode, the macro call inherits it and the table is recognised.

            When calling macros using the widget, the parse mode will be inline (#3 and #4 above) unless it is written as an open tag with a following blank line (#5 above).

            See also WikiText parser mode: transclusion examples for similar examples


            These examples have slightly different behavior. In the previous section, the macro calls were enclosed within list items. In these examples, the macro calls are at the top level:

            Of these examples, only the two $macrocall tags which are not followed by a blank line are parsed using inline mode.

            See also WikiText parser mode: transclusion examples for similar examples

            WikiText parser mode: transclusion examples

             22 enero 2022 a las 18:08

            Given the tiddler table-example defined with these contents:

            |cell one|cell two|
            |cell three|cell four|
            then

            The list syntax is recognised in block mode and the enclosed contents are parsed using inline mode. When the parser encounters a wikitext transclusion it will use the current parse mode to parse the contents of the transcluded tiddler. The contents of the example tiddler contains table syntax which is only recognised in block mode.

            Therefore, in #1 above the table syntax is not recognised. In #2 above, the blank line after the open div tag moves the parser back into block mode, the transcluded text inherits it and the table is recognised.

            When transcluding tiddlers using the widget, the parse mode will be inline (#3 and #4 above) unless it is written as an open tag with a following blank line (#5 above).

            See also WikiText parser mode: macro examples for similar examples. The only difference here is $transclude has a mode attribute (extra example #6) which allows the parse mode to be explicitly overridden rather than come implicitly based on the they way the tag is written


            In these examples, the transclusions are at the top level instead of enclosed in list items:

            Of these examples, only the two $transclude tags which are not followed by a blank line and the widget call using mode=inline are parsed using inline mode.

            See also WikiText parser mode: macro examples for similar examples

            WikiText Parser Modes

             13 mayo 2022 a las 12:26

            In order to display Tiddlers (usually the text field), the WikiText parser reads and interprets the content and applies WikiText rules. The parser has three modes:

            The parser transitions between these modes based on the text it encounters. In addition, there are places where the parser ignores WikiText punctuation. The parser mode can also be set directly with the Pragma: \parsermode.

            The concept of inline vs block also exists for standard HTML elements. For HTML, these two layout modes determine if the output flows together on the same line or not.

            Most block mode WikiText corresponds to block level HTML elements and most inline mode WikiText corresponds to inline level HTML elements. However, for Wikitext the two modes are just as important for determining which syntax will be recognised by the parser as they are for determining how the output will flow.

            Ejecutar como aplicación HTA

             13 abril 2016 a las 11:39

            En Windows es posible convertir TiddlyWiki en aplicación local cambiando la extensión .html por .hta (HTML-Application).

            Con este cambio se permite que el módulo fsosaver use el FileSystemObject de ActiveX para guardar los cambios.

            Hay que tener presente que con este enfoque el archivo TiddlyWiki se guarda codificado en formato UTF-16, que tiene la desventaja de hacerlo el doble de grande que con la codificación habitual en UTF-8. SIn embargo, abrir el archivo y guardarlo por otro medio lo vuelve a codificar como UTF-8.

            En la Wikipedia encontrarás más detalles sobre las aplicaciones HTML o HTA:

            http://en.wikipedia.org/wiki/HTML_Application

            Working with the TiddlyWiki5 repository

             20 septiembre 2014 a las 14:44

            Introduction

            If you want to contribute to TiddlyWiki's development, rather than installing TiddlyWiki in the usual way, you can work directly with the GitHub repository.

            Mario Pietsch has created a short video introduction.

            Setting Up

            1. Create an account on GitHub if you don't already have one
            2. Fork the TiddlyWiki5 GitHub repository from https://github.com/Jermolene/TiddlyWiki5
            3. Clone a local copy of your fork
            4. Open a command line terminal and change the current working directory to the root of the repo
            5. Type npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed one

            After this procedure you can work with TiddlyWiki5 via npm as though it were installed in the usual way with npm install -g tiddlywiki.

            See also Scripts for TiddlyWiki on Node.js.

            Working with the TiddlyWiki5 repository video

             20 septiembre 2014 a las 14:40

            Mario Pietsch has created a short video tutorial on working with the TiddlyWiki5 GitHub repository.

            Trabajar con TiddlyWiki

             21 abril 2016 a las 10:38

            Xememex

             10 abril 2023 a las 11:50

            Xememex is a multiuser TiddlyWiki from Federatial. It allows large groups of people to work together on intertwingled wikis that can share content. It is implemented as a serverless application on Amazon Web Services.

            The largest customer implementation has hundreds of online wikis with thousands of users. See https://manuals.annafreud.org/

            Xememex is currently only available under commercial terms from Federatial. Contact Jeremy Ruston at Federatial for more details.

            Xememex Logo

             

            XLSX Utilities Edition

             23 octubre 2016 a las 21:23

            The XLSX Utilities edition of TiddlyWiki contains tools to work with .XLSX spreadsheets generated by applications like Microsoft Excel and Google Sheets. It can be used in the browser or under Node.js.

            https://tiddlywiki.com/editions/xlsx-utils/

            zth Operator

             29 octubre 2021 a las 3:37
            purposeselect the Zth input title
            inputa selection of titles
            parameterZ = an integer, defaulting to 0
            outputthe Zth input title

            Learn more about how to use Filters

            New in: 5.2.1

            Z is zero-based. In other words, zth[0] has the same effect as nth[1] and the first operator.

            See nth for an equivalent operator with a 1 based parameter

            Examples

            zth Operator (Examples)

             29 octubre 2021 a las 3:35

            These examples make use of the Days of the Week tiddler.

            [list[Days of the Week]zth[]]

            [list[Days of the Week]zth[5]]